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.

Assignments/Quizzes/ Examinations

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

 

b) Quizzes

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.