|
Concordia University Comp 249 - Programming Methodology Course Outline - Winter 2010
|
Instructors |
Aiman Hanna (Coordinator) E-mail: contact@AimanHanna.com Office: EV 3-257 Tel: (514) 848-2424 ext. 7878 Section PP – Thursday 17:45-20:15 at H-433
|
Yuhong Yan E-mail: yuhong@ encs.concordia.ca Office: EV 3-227 Tel: (514) 848-2424 ext. 8715 Section U – Monday/Wednesday 8:45-10 at MS-S1.115 Office hours: Mon/Tue: 16:00-17:30 |
|
Lab Instructors & Markers |
Please check the websites for information on lab instructors/tutors/markers as well as lab/tutorials times and locations. |
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 & Other Tools
· i-Clicker which you need to bring to every class.
Both are available at the Concordia bookstore.
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 or EV-007.182. This account will give you access to the laboratories. For more information on CSE Computer accounts please visit the website: http://www.encs.concordia.ca/helpdesk/access.html
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. Tutorials begin on the second week of classes.
Web Pages
Many resources for the course (lecture slides, assignments and solutions, example programs . . .) will be available on the course web sites.
For Section PP, website is at www.AimanHanna.com (follow Concordia link afterwards)
For Section U, website is a Moodle website available through MyConcordia portal at www.myconcordia.ca.
It is recommended that you consult both websites as they both may have different useful materials.
Usage of i-Clickers
i-Clickers are going to be used in the lectures and the tutorials, so you must have your i-Clicker at both times.
a) Course Assignments.
There will be 5 assignments. All assignments will have a programming component; some of them may have a theoretical component as well. Assignments are to be submitted electronically only - no paper submission. Instructions on submitting assignments will be given in Assignment #1. All assignment handouts will be available on the course webpage.
Although we encourage discussion of the assignment questions among students, you should be aware of the Concordia’s Code of Conduct regarding plagiarism as described in http://web2.concordia.ca/Legal_Counsel/policies/english/AC/Code.html
There will be 4 quizzes during the term. Quizzes will be held during the tutorial times of the weeks listed on the schedule on page 4 of this handout. There are no make-up quizzes. Other quizzes may be added if necessary.
c) Examinations
· There will one midterm test in week 8 or 9 of the course. Exact date will be announced. The test will take place during regular lecture times. There is no make-up term test.
· The final examination is common to all sections, lasts three hours, and will be administered during the examination period at the end of the term. The final examination covers all material seen during the term.
Evaluation Scheme
Assignments (5) 15% (5 × 3%)
Quizzes (4) 15% (3 × 5% - best 3 out of 4)
Midterm exam 20%
i-Clicker participation 5%
Final exam 45%
1. In order to pass the course, you must pass the exams (quizzes, tests and final), regardless of your grade in the assignments.
2. There is no standard relationship between percentages and letter grades assigned.
3. Although
we encourage discussion of the assignment questions among students, you should
be aware of the University regulations concerning plagiarism described in
16.3.13 of the undergraduate Calendar. All students should become familiar with
the University’s Code of Conduct located at http://web2.concordia.ca/Legal_Counsel/policies/english/AC/Code.html .
In cases where cheating or plagiarism is suspected, the case will be forwarded
directly to the appropriate university office for consideration. Please do not
assume that you get “second chances” when it comes to cheating. Once is often
enough to damage your academic career.
Important Lecture Guideline
Laptops are STRICTLY PROHIBITED in classroom during the lectures. Other communications devices, such as cellular phones and text/video messaging devices are also STRICTLY PROHIBITED. The usage of any of these materials during the class will result in you being asked to immediately leave the class.
Note:
If you have any special needs please contact your instructor to discuss the situation.
Tentative Schedule
The list below provides a summary of the material that will be covered during the course as well as a tentative schedule. Please check course webpage for any changes.
Week of |
Chapter |
Topic |
Special Event |
#1 – Jan 4 |
6 7 |
Review of Arrays Inheritance |
|
#2 – Jan 11 |
7 (con’t) 8 |
Inheritance (cont’d) Polymorphism and Abstract Classes |
i-Clicker IDs Registration‡ |
#3 – Jan 18 |
8 (con’t) |
Polymorphism and Abstract Classes (cont’d) |
Assignment 1 due * |
#4 – Jan 25 |
9 10 |
Exception Handling File I/0 |
Quiz 1 |
#5 – Feb 1 |
11 |
Recursion |
Assignment 2 due * |
#6 – Feb 8 |
13 |
Interfaces & Inner Classes |
|
#7 – Feb 15 |
13(con’t) |
Interfaces & Inner Classes |
Assignment 3 due * Quiz 2 |
Week of Feb 22 SPRING BREAK – No Classes |
|||
#8 – Mar 1 |
14 |
Generics and the ArrayList Class Midterm Term |
Midterm |
#9 – Mar 8 |
15 |
Linked Data Structures |
Assignment 4 due *
|
#10 – Mar 15 |
15 (cont’d) 16 |
Linked Data Structures (cont’d) Collections & Iterators |
Quiz 3 |
#11 – Mar 22 |
16(cont’d) |
Collections & Iterators (cont’d) |
Assignment 5 due * Quiz 4 |
#12 – Mar 29 |
17 & 18 |
Swing & Applets |
|
#13 – Apr 5 |
|
Catching up and/or Review |
|
‡ You must register your student ID with i-Clicker.
* Assignments are due electronically by due date/time indicated on them.
Please note: In the event of extraordinary circumstances beyond the University's control, the content and/or evaluation scheme in this course is subject to change.