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

CPSC 231: Fall 2006

Index

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

 

Lecture Information (L01)

Day/Time

Tuesdays, Thursdays: 9:30 - 10:45

Location 

ICT 102

Contact Information

James Tam

Office: ICT 707

Office hours: MT 15:00 - 16:00

Phone: 210 - 9455

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

Date/Time

Location

Tutorial instructor

Email

T01 MW 10:00 MS 211 Justine Park parkjustin@gmail.com
T02 MW 11:00 MS 217 Justine Park parkjustin@gmail.com
T03 MW 13:00 MS 211 Russell Apu apu@cpsc.ucalgary.ca
T04 TR 8:00 MS 211 Fatima Mohamed Farag ffarag@cpsc.ucalgary.ca
T05 TR 12:00 MS 211 Fatima Mohamed Farag ffarag@cpsc.ucalgary.ca
T19 MW 9:00 MS 217 P. Bhattacharya pbhattac@cpsc.ucalgary.ca
T20 TR 12:00 MS 217 Russell Apu apu@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. 12, 14

Introduction to this course and to Computer Science (Note: tutorials do not start until next week).

2

Sept. 19, 21

Introduction to computers
Non-decimal number systems

3

Sept. 26, 28

Number representations
Logic
Programming: Introduction

4

Oct 3, 5

Programming: Introduction

5

Oct 10, 12

Programming: Decision-making/Branching
Programming: Loops

6

Oct 17, 19

Programming: Loops
Programming: Problem Decomposition

7

Oct 24, 26 Programming: Problem Decomposition
Programming: Homogeneous composite types

8

Oct 31, Nov 2

Programming: Homogeneous composite types
Programming: Storage

An in class midterm will be held on Thursday: Nov 2 during the first 50 minutes of lecture.

9

Nov 7, 9

Programming: Storage
Programming: Heterogeneous composite types

10

Nov 14, 16

Note: No lecture will be held Nov 14 (Reading days are Nov. 11-14).

Programming: Heterogeneous composite types

11

Nov 21, 23

Programming: Sorting
Programming: Pointers

12

Nov 28, 30

Programming: Pointers
Programming: Dynamic lists

13

Dec 5, 7

Programming: Dynamic lists
Programming: Recursion
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. 11 - 20.

A link with more information about the final exam (coming near the end of the term)

 

Assignments (weights and tentative due dates will be added during the term)

 

Assignment submission guidelines

 

Information about academic misconduct (cheating)

 

Marking guide for program coding style

 

Information about the electronic submission mechanism

 

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

 

Assignment 2: Numbers, complements and logic (Worth 2% of your term grade, due Wednesday Oct 4)

 

Assignment 3: Modifying simple programs (Worth 1% of your term grade, due Wednesday Oct 11)

 

Assignment 4: Decisions and loops (Worth 3% of your term grade, due Friday Oct 20)

 

Assignment 5: Problem decomposition (Worth 3% of your term grade, due Monday Oct 30)

  Midterm: Thursday, Nov 2 (first 50 minutes of the lecture)

 

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

 

Assignment 7: Two-dimensional arrays (Worth 5% of your term grade, due Monday Nov 20)

 

Assignment 8: Lists, file input and output, version 1 implemented using an array of records (Worth 5% of your term grade, due Wednesday Nov 29)

 

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

 

Practice problems