COMP 249 Programming Methodology Fall 2008 |
Course Outline |
Section |
Instructor |
|
Office |
|
Yuhong Yan |
yuhong@cse.concordia.ca |
EV 3.227 |
Course Objective
As a student, one rarely has the opportunity to write applications that exceed a few hundred lines of source code. In this context, it is entirely possible to produce acceptable software programs that require no more experience than that obtained in an introductory programming course. However, for those of you who will eventually move on to industrial programming environments, where code bases typically run into tens of thousands or even millions of lines, you will quickly see that “programming in the large” is an entirely different undertaking. Specifically, it is important -if not required -that your code be more modular, more robust, and more flexible. In COMP 249, we will begin to look at the concepts and elements that support more sophisticated software applications.
Background Knowledge You should have some previous experience of programming in Java such as that provided in COMP 248 or a similar course. In particular, you should have a good understanding of expressions, statements, methods, parameters, and arrays. You should also know the basic concepts of objects, classes, and packages.
Required Text Book
Absolute Java by Walter Savitch, 3rd Edition, Addison Wesley, 2008. (The same book you used in COMP 248.)
Computing Facilities
You will be using the same computing facilities and the same computer account you used in COMP 248. If you did not take COMP 248 or do not have a computer account, you can obtain it from the help desk at H–960.
If you have a computer at home and prefer to use it, you may do so, but be aware that your programs must compile and run with Java 6. Feel free to experiment with any of the open source/publicly available IDEs/editors listed on the home page.
Tutorials
The tutorials will reinforce the material seen during the lectures with examples and exercises. The quizzes will also be done during the tutorials and the assignments will be explained.
Web Page
Many resources for the course (slides, assignments, example programs, . . . ) will be available on the Moodle Web site available through the MyConcordia portal www.myconcordia.ca.
Evaluation Scheme
5 Assignments 15% (5 * 3%)
6 Quizzes 15% (best 5 out of 6, 5* 3%)
2 Midterm exams 30% (2*15%)
1 Final exam 40%
Notes:
In order to pass the course, you must achieve satisfactory performance in the non-assignment evaluation (i.e. quizzes, midterms and final).
I will do my best to ensure that final grades correspond in a predictable way to marks; however, there is no standard relationship between percentages and letter grades assigned.
Although I encourage discussion of the assignment questions among students, you should be aware of the University regulations concerning plagiarism described in 16.3.14 of the Undergraduate Calendar. In cases where cheating or plagiarism is suspected, the case will be forwarded directly to the appropriate university office for consideration.
Tentative Schedule
Day |
Material |
Chapters |
Special Event |
Sept. 3 |
Review of Arrays |
6 |
|
Sept. 8 |
Inheritance |
7 |
|
Sept. 10 |
Inheritance |
7 |
Assig. 1 given |
Sept. 15 |
Polymorphism and Abstract Classes |
8 |
Quiz 1 |
Sept. 17 |
Polymorphism and Abstract Classes |
8 |
|
Sept. 22 |
Exception Handling |
9 |
Quiz 2 |
Sept. 24 |
File I/0 |
10 |
Assig. 1 due & Assig. 2 given |
Sept. 29 |
Recursion |
11 |
Quiz 3 |
Oct. 1 |
Recursion |
11 |
|
Oct. 5 |
|
|
Midterm 1 |
Oct. 8 |
Interfaces and Inner Classes |
13 |
Assig 2. due & Assig 3. given |
Oct. 13 |
Thanks given – no class |
|
|
Oct. 15 |
Interfaces and Inner Classes |
13 |
|
Oct. 20 |
Swing and Applets |
17 & 18 |
Quiz 4 |
Oct. 22 |
Swing and Applets |
17 & 18 |
|
Oct. 27 |
Generics and the ArrayList Class |
14 |
Assig. 3 due &Assig. 4 given |
Oct. 29 |
Generics and the ArrayList Class |
14 |
|
Nov. 3 |
|
|
Midterm 2 |
Nov. 5 |
Linked Data Structures |
15 |
|
Nov. 10 |
Linked Data Structures |
15 |
Assig. 4 due & Assig. 5 given |
Nov. 12 |
Linked Data Structures |
15 |
|
Nov. 17 |
Collections and Iterators |
15 |
|
Nov. 19 |
Collections and Iterators |
16 |
|
Nov. 24 |
Collections and Iterators |
16 |
Quiz 6 |
Nov. 26 |
Collections and Iterators |
16 |
|
Dec. 1 |
Catch up and/or Review |
|
Assig. 5 due |
Dec. 3 |
Make-up class if necessary |
|
|