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

CPSC 231: Winter 2006

Index

 

Grades

 

Lecture Information

Day/Time

Tuesdays, Thursdays: 9:30 - 10:45

Location 

ICT 102

Contact Information

James Tam

Office: ICT 707

Office hours: MT 13:00 - 14:00

Phone: 210 - 9455

Email: tamj@cpsc.ucalgary.ca

Web page: http://www.cpsc.ucalgary.ca/~tamj
  My schedule: http://www.cpsc.ucalgary.ca/~tamj/schedule.html
   
General information Administrative information (computation of your term grade, course text books, the course information sheet etc.)
  Submission requirements for assignments
  Getting started in Computer Science (labs, sources of help etc.)

 

Tutorial Information

Tutorials L03

Date/Time

Location

Tutorial instructor

Email

T12 MW 9:00 MS 211 M.N. Basher basher@cpsc.ucalgary.ca
T13 MW 13:00 MS 211 P. Bhattacharya pbhattac@cpsc.ucalgary.ca
T14 MW 15:00 MS 217 R.A.A. Apu apu@cpsc.ucalgary.ca
T15 TR 11:00 MS 211 X.J. Cao caox@cpsc.ucalgary.ca
T16 TR 12:00 MS 211 X.J. Cao caox@cpsc.ucalgary.ca
T17 TR 14:00 MS 211 R.A.A. Apu apu@cpsc.ucalgary.ca
T22 MW 10:00 MS 217 M.N. Basher basher@cpsc.ucalgary.ca
Schedule of topics to be covered in tutorial during the term

 

Course Schedule and Notes

 Tentative Schedule

Week No.

Lecture days

Due during the week
 

Topics to be covered

1

Jan. 10, 12  

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

2

Jan. 17, 19

Assignment 1: Friday January 20

Introduction to computers
Non-decimal number systems

3

Jan. 24, 26  

Number representations
Logic
Programming: Introduction

4

Jan. 31, Feb 2 Assignment 2: Monday January 30

Assignment 3: Friday February 3

Programming: Introduction

5

Feb. 7, 9  

Programming: Decision-making
Programming: Loops

 

6

Feb. 14, 16

Assignment 4: Wednesday February 15

Programming: Loops
Programming: Problem Decomposition

7

Feb. 21, 23   Reading week: No classes

8

Feb. 28, Mar. 2

Assignment 5: Wednesday March 1

Midterm: Thursday March 2 (in class)

Programming: Problem Decomposition
Programming: Homogeneous composite types

 

9

Mar. 7, 9

Assignment 6: Friday March 10

Programming: Homogeneous composite types
Programming: Storage
 

10

Mar. 14, 16

 

Programming: Storage
Programming: Heterogeneous composite types
 

11

Mar. 21, 23

Assignment 7: Friday March 24

Programming: Heterogeneous composite types

12

Mar. 28, 30

 

Programming: Sorting
Programming: Pointers

13

Apr. 4, 6 Assignment 8: Tuesday April 4

Programming: Pointers
Programming: Dynamic lists

14 Apr. 11, 13 Assignment 9: Thursday April 13 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 April  17 - 28.

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

 

Assignments (weights and tentative due dates)

 

Assignment submission guidelines

 

Information about academic misconduct (cheating)

 

Marking guide for coding style

 

Information about the electronic submission mechanism

 

Assignment 1: Introduction to Unix (Worth 1% of your term grade)

 

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

 

Assignment 3: Modifying simple programs (Worth 1% of your term grade)

 

Assignment 4: Decisions and loops (Worth 3% of your term grade)

 

Assignment 5: Problem decomposition (Worth 3% of your term grade)

 

Assignment 6: One-dimensional arrays (Worth 5% of your term grade)

 

Assignment 7: Two-dimensional arrays (Worth 8% of your term grade)

 

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

 

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

 

Practice problems