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

CPSC 231: Winter 2005

Grades

Index

 

Lecture Information

Day/Time

Tuesday & Thursday
9:30 - 10:45

Location 

ICT102

   

Contact Information

James Tam (Course Instructor)

Office: ICT 707

Office hours: M 12:00 - 12:50, T 13:00 - 13:50

Phone: 210 - 9455

Email: tamj@cpsc.ucalgary.ca

Web page: http://www.cpsc.ucalgary.ca/~tamj

   

General information

Component breakdowns, course text books

 

Submission requirements for assignments

 

Getting started in Computer Science (labs, sources of help etc.)

 

Tutorial Information

Tutorial schedule and relevant readings

Tutorial number

Date/Location

Lab instructor

Email

T15

MW 9:00 / MS205

RAA APU

apu@cpsc.ucalgary.ca

T16

MW13:00 / MS205

K PARVEZ

parvez@cpsc.ucalgary.ca

T17

MW 15:00 /MS205

K PARVEZ

parvez@cpsc.ucalgary.ca

T18

TR 11:00 /MS205

RES SAWILLA

reg@sawilla.com

T19

TR 12:00 / MS205

RES SAWILLA

reg@sawilla.com

T20

TR 14:00  /MS205

RAA APU

apu@cpsc.ucalgary.ca

 

Course Outline and Notes

 Tentative Schedule

Week No.

Lecture days

Due during the week
 

Topics to be covered

1

Jan 11, 13

 

Introduction to this course and to Computer Science
Introduction to computers

2

Jan 18, 20

Assignment 1: Friday Jan 21

Introduction to computers
Non-decimal number systems
Representations

3

Jan 25, 27

 

Representations
Logic

Programming: Introduction

4

Feb 1, 3

Assignment 2: Thursday Feb 3

 

Programming: Introduction
Programming: Decision-making

5

Feb 8, 10

Assignment 3: Friday Feb 11

Programming: Loops
Programming: Problem decomposition

6

Feb 15, 17

Assignment 4: Friday Feb 18

Programming: Problem Decomposition

7

Feb 22, 24

 

Reading week: no lectures

8

Mar 1, 3

Midterm: Tuesday, March 1

Programming: Homogeneous composite types (Part I) 
 

9

Mar 8, 10

Assignment 5: Friday Mar 11

Programming: Homogeneous composite types (Part II)Programming: Storage
Programming: Heterogeneous composite types

10

Mar 15, 17

Assignment 6: Tuesday Mar 22

Programming: Heterogeneous composite types
Programming: Sorting
Programming: Pointers

11

Mar 22, 24

 

Programming: Pointers

12

Mar 29, 31

Assignment 7: Friday April 1

Programming: Dynamic lists

13

April 5, 7

 

Programming: Dynamic lists
Programming: Recursion

14

April 12, 14

Assignment 8: Friday April 15

Additional material
 

Final exam information

 

Assignments (weights and tentative due dates)

Hints for how to tackle the tougher assignments (A5 - A8)

Hints for finding the errors in your program

Assignment submission guidelines

Information about the electronic submission mechanism

Assignment 1: Introduction to Unix (worth 1%, due Friday Jan 21)

Assignment 2: Numbers, complements and logic (worth 3%, due Thursday Feb 3)

Assignment 3: Modifying and writing simple programs (worth 1%, due Friday Feb 11)

Assignment 4: Decisions and loops (worth 3%, due Friday Feb 18)

Assignment 5:  Problem decomposition and 1D arrays (worth 4%, due Friday March 11)

Assignment 6: Two dimensional arrays (worth 6%, Tuesday March 22)

Assignment 7: Lists - Version 1 implemented using an array of records (worth 6%, Friday April 1)

Assignment 8: Lists - Version 2 implemented using link lists (worth 6%, Friday April 15)