Lecture notes for the Introduction to Computer Science I by James Tam | Return to the course web page |
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.) |
Tutorials L03
Date/Time
Location Tutorial instructor
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
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 systems3
Jan. 24, 26 Number representations
Logic
Programming: Introduction4
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 Decomposition7
Feb. 21, 23 Reading week: No classes 8
Feb. 28, Mar. 2 Assignment 5: Wednesday March 1
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: Pointers13
Apr. 4, 6 Assignment 8: Tuesday April 4 Programming: Pointers
Programming: Dynamic lists14 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)
|
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 |