CS 1025 Home Page
Course Description
- Course Outline
- Course Description from the UWO Calendar
- CS 1025 vs CS 1026 -- which is for you?
If you have no programmign experience whatsoever, then take CS1026.
If you have used arrays and subprograms ("functions", "subroutines" or "methods"), then take CS 1025.
Else, look at these questionnaires.
Class Materials
Class Notes
- Course Overview
- Different Points of View
- Intro to Java I -- variables, loops, arrays
- Intro to Java II -- functions
- Intro to Java III -- objects
- An Object Example
- More About Classes
- Top-Down Design Example
- Intro to Java IV -- exceptions
- Intro to Java V -- abstract classes and interfaces
- A Touch of Complexity Theory
- Algorithms
- Algorithms II
- Counting Interactions in Software Engineering
- Event-Driven Programs
- Designing a GUI
Left
Middle
Right
One implementation
- Java bit operations
- Random
- Functional Programming
- Lazy Evaluation
- JavaScript
- The C Programming Language
- More C and Some C++
Assignments
Instructions on how to hand in the assignment are here.
- Assignment 1.
Given September 12, due September 18.
- Assignment 2.
Given September 19, due October 2.
- Assignment 3.
Given October 3, due October 16.
- Assignment 4.
Given October 26, due November 8.
Because of mid-term conflicts, there will be no late penalties until after November 11, i.e.
| Nov 8 | Nov 9 | Nov 10 | Nov 11 | Nov 12 | Nov 13 | Nov 14 or later |
| On time | 1 day late | 2 days late | 3 days late | 4 days late | 5 days late | 6 or more days late |
Usual penalty | No penalty | -5% | -10% | -15% | -20% | -25% | Not accepted |
This time only | No penalty | No penalty | No penalty | No penalty | -20% | -25% | Not accepted |
- Assignment 5.
Given November 7, due November 27.
Exams
- The midterm will be held October 22, in class.
No electronic aids will be allowed in the Midterm.
You are allowed to bring one single-sided letter-size
original handwritten page of notes.
- Practice Midterm
- The registrar has set the date for the Final Exam as December 18 at 9:00am in SSC 2020.
Consulting
Monday | 5:30-6:30 | Rui Hu | MC 4A |
Tuesday | 10:30-11:30 | Stephen Watt | MC 375 |
| 4:30- 5:30 | Esmaili Mehrabi | MC 4A |
Wednesday: | 4:30- 5:30 | Esmail Mehrabi | MC 4A |
Thursday: | 10:30-11:30 | Stephen Watt | MC 375 |
| 4:30- 5:30 | Esmaeil Mehrabi | MC 4A |
Friday: | 1:30- 2:30 | Rui Hu | MC 4A |
The TAs' may also be contacted for short questions at the E-mail addresses below. In these addresses, you must replace "<university>" with "uwo.ca".
Rui Hu | rhu8@<university> |
Esmaeil Mehrabi | emehrab@<university> |
Resources
Tutorials
If you have little to no programming experience, it may be worthwhile to try some of the elementary programming tutorials that are available online. It is not important that they use the Java language. The idea is to get comfortable with if statements, loops, and so on. I have heard some good things about these free sites:
Java Documentation
Eclipse
If you wish to install Eclipse on your own machines, you can by downloading the following. If you have problems installing, you can see the TAs for help. You can also use the first year labs in Middlesex College.
- Eclipse download for Windows, Linux or Mac OS:
http://www.eclipse.org/downloads.
To use it, you unzip the package into any convenient location on
your computer.
- Java run time download.
A Java environment is needed for Eclipse.
You may already have one on your machine.
If you don't, then you can get one from
http://www.java.com/en/download.
The following can be helpful:
- Installing Java on Windows
A Video
- Installing Java on Windows
Another Video
- Installing Java on Linux Ubuntu 10.4 and up:
The simplest way is to use "synaptic package manager",
so go to system/administration/synaptic package manager,
(you can find some samples of using "synaptic package manager" via
this video)
then search "openjdk-6-source" and mark it and then apply
to inistall it.
- Installing Java on Mac OS 10.6 and up:
Use the Software Update feature (available on the Apple menu)
to check that you have the most up-to-date version of Java for your Mac.
The following links can help you:
A video,
FAQ
- Installing Eclipse for all above operating systems
Video