Lecture notes for the Introduction to Computer Science I by James Tam Return to the course web page

CPSC 231: Fall 2007

Index

(This web page is for Lecture 02, for information specific to Lecture 01 go to the web page of Frank Deur to find his 231 web page.

 

Lecture Information (Lecture 02)

Day/Time

Monday, Wednesday, Friday 14:00 - 14:50

Location 

ICT 102

Contact Information

James Tam

Office: ICT 707

Office hours: MW 15:00 - 15:50, T 16:45 - 17:30 (if I'm not in my office I may still be in ICT 102)

Email: tamj@cpsc.ucalgary.ca

  My schedule
   
General information Administrative information (computation of your term grade, course text books, the course information sheet etc.)
  Getting started in Computer Science (labs, sources of help etc.)

 

Tutorial Information (tutorials begin during the second week of lectures)

Tutorials

Date/Time

Location

Tutorial instructor

Email

T06 MW 12:00 MS 160 Ting Tan txtan@cpsc.ucalgary.ca
T07 MW 13:00 MS 176 Khandoker Parvez parvez@cpsc.ucalgary.ca
T08 TR 11:00 MS 160 Javad Sadeghi jsadeghi@cpsc.ucalgary.ca
T09 MW 9:00 MS 176 Sampson Zhan Yao Pun szypun@cpsc.ucalgary.ca
T10 TR 12:00 MS 176 Helen He hahe@cpsc.ucalgary.ca
Schedule of topics to be covered in tutorial during the term

 

Course Schedule and Notes

 Tentative Schedule

Week No.

Lecture days

Topics to be covered

1

Sept. 10, 12, 14

Introduction to this course and to computers
Non-decimal number systems

(Note: tutorials do not start until next week).

2

Sept. 17, 19, 21

Number representations
Logic
Programming: Introduction

3

Sept. 24, 26, 28

Programming: Introduction (continued)

4

Oct 1, 3, 5

Programming: Decision-making/Branching
Programming: Loops

5

Oct 10, 12

(Oct 8: Thanksgiving holiday)

Programming: Loops (continued)
Programming: Problem Decomposition

6

Oct 15, 17, 19

Programming: Problem Decomposition (continued)
Programming: Homogeneous composite types

7

Oct 22, 24, 26 Programming: Homogeneous composite types (continued)
 

8

Oct 29, 31, Nov 2

Programming: Storage
Programming: Heterogeneous composite types

 

9

Nov 5, 7, 9

Programming: Heterogeneous composite types (continued)
Programming: Sorting (if there is sufficient time)
Programming: Pointers

10

Nov 14, 16

(Nov 10 - 13: Reading days)

Programming: Pointers (continued)

11

Nov 19, 21, 23

Programming: Dynamic lists

12

Nov 26, 28, 30

Programming: Recursion
Introduction to Computer Science (if there is sufficient time)

13

Dec 3, 5, 7

The history of computers (if there is sufficient time)

The final exam will be scheduled by the Registrar's Office and will occur sometime between Dec. 10 - 19.

A link with more information about the final exam.

 

Assignments

 

Assignment submission guidelines

 

Information about academic misconduct (cheating)

 

Information about the electronic submission mechanism

 

Assignment 1: Introduction to UNIX (Worth 1% of your term grade, due Monday September 24)

 

Assignment 2: Numbers, complements and logic (Worth 3% of your term grade, due Monday October 1)

 

Assignment 3: Modifying simple programs (Worth 1% of your term grade, due Friday October 5)

 

Assignment 4: Decisions and loops (Worth 3% of your term grade, due Wednesday October 17)

 

Assignment 5: Problem decomposition (Worth 3% of your term grade, due Wednesday October 24)

  Midterm: Worth 25% of your term grade, to be held during normal lecture time in the regular class room (ICT 102), Friday October 26

 

Assignment 6: One-dimensional arrays (Worth 5% of your term grade, due Friday November 9)

 

Assignment 7: Two-dimensional arrays (Worth 8% of your term grade, due Tuesday November 20)

 

Assignment 8: Lists, file input and output, version 1 implemented using an array of records (Worth 8% of your term grade, due Tuesday November 27)

 

Assignment 9: Lists, file input and output - version 2 implemented using a linked list (Worth 8% of your term grade, due Friday December 7)

 

Practice problems