Ryerson University
Department of Computer Science

CPS109 Computer Science 1
Course Outline (Fall 2013)

Dr. Kosta Derpanis
Office: ENG244
Office hours: Friday 3:10-4:10pm
kosta[at]scs.ryerson[dot]ca


Course Description:
An introductory programming course designed to introduce fundamental Computer Science concepts such as abstraction, modeling and algorithm design.  Emphasis is placed on producing correct software. This course uses Java as its programming language.

Course Format:
3 weekly lecture hours and 2 weekly lab hours.

Course Websites:
The official course website is on Blackboard
. (must be consulted at least once a week)

Course Texts:
(Main textbook) Horstmann, C. (2012), Big Java: Early Objects, 5th Edition, Wiley - ISBN: 978-1-118-43111-5.

(Supplementary textbook) Guzdial, M. and Ericson, B. (2006), Introduction to Computing and Programming with Java: A Multimedia Approach, Prentice Hall - ISBN: 0-13-149698-0.

Schedule of activities

*Note: The mov video files contain the lecture slides with manual playback enabled.  For Mac users, manual playback works within your browser and within Apple's Quicktime player; unfortunately, this functionality is no longer available in OS X Mavericks.  For non-Mac users, use Apple's Quicktime player (available here) to advance the slides manually.

Lecture #
(Date)

Contents / Topics

Readings in Textbook

Example Programs to Review

Slides
Sections 4-5



0 and 1
(Sept. 3)




Administration and introduction



Chpt 1 - Horstmann




HelloWorld.java

Welcome
pdf
mov

Introduction I
pdf
mov


1
(Sept. 6)


Introduction (continued)

Chpt 1 - Horstmann


Introduction II

pdf
mov

2
(Sept. 10)

Data types, variables, arithmetic expressions, class and object concepts


Chpt 2 - Horstmann


pdf
mov


3
(Sept. 13)


Review lecture #2 and quiz


Chpt 2 - Horstmann


pdf
mov


4
(Sept. 17)


Class and object concepts and implementing classes

Chpt 3 - Horstmann


pdf
mov

5
(Sept. 20)


Review lecture #3 and quiz

Chpt 3 - Horstmann


pdf
mov

6
(Sept. 24)


Object references, errors with primitives, arithmetic expressions, user input and formatted output



Chpt 4 - Horstmann



pdf
mov



7
(Sept. 27)


Review object references, pass-by-value and quiz

Chpt 4 - Horstmann

Thingmaker
(Prof. Ferworn)

pdf
mov

8
(Oct. 1)


Pass-by-value, strings, math library, this keyword and quiz

Chpt 4 - Horstmann


pdf
mov

9
(Oct. 4)


Logical operators, comparison operators and if-else

Chpt 5 - Horstmann


pdf
mov

10
(Oct. 8)


Logical operators, comparison operators, if-else and switch

Chpt 5 - Horstmann


pdf
mov

11
(Oct. 11)


Review selection operators, string comparison and quiz

Chpt 5 - Horstmann


pdf
mov

Fall break week
(Oct. 14 - 18)







12
(Oct. 22)


Loops (while, for and do-while), sentinel values and nested loops

Chpt 6 - Horstmann


pdf
mov

13
(Oct. 25)


Review loops and quiz

Chpt 6 - Horstmann


pdf
mov

14
(Oct. 29)


Arrays, common array algorithms and array lists

Chpt 7 - Horstmann


pdf
mov

15
(Nov. 1)

Review arrays, common array algorithms and quiz


Chpt 7 - Horstmann


pdf
mov


16
(Nov. 5)


Array lists and 2D arrays

Chpt 7 - Horstmann



17
(Nov. 8)


2D arrays, static methods and quiz

Chpt 7 and 8 - Horstmann


pdf
mov

18
(Nov. 12)


Static methods, static variables, pre/postconditions and variable scope

Chpt 8 - Horstmann


pdf
mov

19
(Nov. 15)


Special topic: Recursion

Chpt 13 - Horstmann


pdf
mov

20
(Nov. 19)


Sorting (selection and insertion) and searching (linear and binary)

Chpt 14 - Horstmann


pdf
mov

21
(Nov. 22)


Big O notation

Chpt 14 - Horstmann


pdf
mov

22
(Nov. 26)


Final class: Linked lists


Chpt 15.2 and 16.1 - Horstmann


pdf
mov


Evaluation:

See Blackboard course site for details.

Rules and regulations:
The rules and regulations are for the enjoyment and respect of everyone in the class including yourself. Thank you very much for abiding by them:

Please refrain of talking during the lecture. Everybody needs to hear correctly. If you feel the urge to talk, you are invited to step out of the classroom.

Please shut down you cell phone or put it in vibrating mode during the lecture. If you are expecting an important call, and do not have a vibrating function, please answer it immediately and step out of the classroom to talk.

Please arrive on time, class will promptly begin at :10. If you arrive late or have to leave early, please do so quietly and be nice and close the door behind you if it doesn't close automatically.

Please be reminded that the Graduate Assistants (GAs) have the authority of the professor in the lab sessions. You are to treat the GAs with respect.

Emails to your professor should always begin with a greeting (Dear Dr. X, Dear Professor Y) and be written in proper English (no chat room lingo please). Your should also always indicate your name (family, given in that order), course (CPS109) and section number in all communications. You must always use your ryerson.ca email to communicate with your professor. Messages sent from other addresses (gmail, hotmail, ...) or missing proper identification as noted just above likely will not be read. Do not use your Student Identification Number unless specifically requested.

Changes:
Modifications to the course procedures will be made in consultation with the students and will be announced on the course website.