Concordia University

COMP - 249 Programming Methodology

Winter 2009 - Course Outline

 

Section

Instructor

E-mail            

Office

PP

N. Acemian (coordinator)

nacemian@cse.concordia.ca

EV 3.153

U

Y. Yan

yuhong@ encs.concordia.ca

EV 3.227

Office hours:

Mon,Wed: 3:00-5:00

Thu: 3:00-5:00

 

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 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 week of January 12 (second week of classes).

 

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.

 


Assignments/Quizzes/ Examinations

a) Course Assignments.

There will be 6 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 5 quizzes during the term. Quizzes will be held during the tutorial times of the weeks listed on the schedule on page 3 of this handout.  There are no make-up quizzes.

c) Examinations

·         There will one midterm test in week 8 of the course. 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 (6)           15% (6 × 2.5%)

Quizzes (5)                  16% (4 × 4% - best 4 out of 5)

Midterm exam (1)        24%

Final exam                   45%

 

Comments:

  1. In order to pass the course, you must achieve satisfactory performance in the non-assignment evaluation (i.e. quizzes, midterms and final).

 

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.

 

Note:

If you have any special needs please contact your instructor to arrange a time 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 5

6

7

Review of Arrays

Inheritance

 

#2 – Jan 12

7 (con’t)

8

Inheritance (cont’d)

Polymorphism and Abstract Classes

 

#3 – Jan 19

8 (con’t)

Polymorphism and Abstract Classes (cont’d)

Assignment 1 due *

#4 – Jan 26

9

10

Exception Handling

File I/0

Quiz 1

#5 – Feb 2

11

Recursion

Assignment 2 due *

#6 – Feb 9

13

Interfaces & Inner Classes

Quiz 2

#7 – Feb 16

17 & 18

Swing & Applets

Assignment 3 due *

Quiz 3

Week of Feb 23 SPRING BREAK – No Classes

#8 – Mar 2

17 & 18 (cont’d)

Swing & Applets (con’t)

Midterm Term

Midterm

#9 – Mar 9

14

Generics and the ArrayList Class

Assignment 4 due *

 

#10 – Mar 16

15

Linked Data Structures

Quiz 4

#11 – Mar 23

15 (cont’d)

16

Linked Data Structures (cont’d)

Collections & Iterators

Assignment 5 due *

#12 – Mar 31

16(cont’d)

Collections & Iterators (cont’d)

Quiz 5

#13 – Apr 6

 

Catching up and/or Review

Assignment 6 due *

 

* Assignments are due electronically by 11:59 pm on the Wednesday of the due week.