CPS109
Computer Science I
Fall 2017

with Prof. Kosta Derpanis


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

Contact information. kosta[at]scs.ryerson[dot]ca

Office. Engineering and Computing Building (ENG), room 283

Homepage. www.scs.ryerson.ca/~kosta

Office hours. Fridays 1pm-2pm

Course Management Form (CMF). Available on Brightspace

Lectures. Below is the tentative schedule of topics.  Links to slides will be made available after each lecture.

LESSON # TOPIC CHAPTERS
SLIDES
SECTIONS 1 TO 4
PDF   MOV
EXAMPLE CODE
0
Administration
PDF
MOV

1
Introduction
Chapter 1
Part 1
PDF
MOV

Part 2
PDF
MOV
HelloWorld.zip
2
Data types, variables, and arithmetic expressions Chapter 2 Part 1
PDF
MOV

Part 2
PDF
MOV
Lesson2.zip
3
User input, formatted output, and strings
Chapter 2 PDF
MOV
Lesson3.zip
4
Logical and comparison operators, and branching Chapter 3
Part 1
PDF
MOV

Part 2
PDF
MOV
Lesson4.zip
5
Practice
Part 1
PDF
MOV

Part 2
PDF
MOV
Lesson5.zip
6
Loops (for, while, do-while) Chapter 4
Part 1
PDF
MOV

Part 2
PDF
MOV
Lesson6.zip
7 Methods Chapter 5
PDF
MOV
Lesson7.zip
8
Recursion Chapter 5 PDF
MOV
Lesson8.zip
9
Arrays Chapter 6
PDF
MOV
Lesson9.zip
10
2D Arrays
Chapter 6
PDF
MOV
Lesson10.zip
11
Practice
Part 1
PDF
MOV

Part 2
PDF
MOV
Lesson11.zip
12
Sorting and searching
Chapter 14
PDF
MOV
Lesson12.zip
13
Big O notation
Chapter 14 PDF
MOV
Lesson13.zip
14 Introduction to classes and objects
Chapter 8

Lesson14.zip
15
Final Review

Lesson15.zip
Bonus
Linked Lists (not on exam)

PDF
MOV