CPSC 231: James Tam

Course Information

 

Lecture Information

Lecture

60

Day/Time

Tuesday & Thursday
11:00 - 14:00

Location 

MS527

Contact Information

James Tam (Course Instructor)

Office: ICT 707

Office hours: TR 14:00 - 15:00

Phone: 210 - 9455

Email: tamj@cpsc.ucalgary.ca

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

    

Lab Information

Day/Time Lab Instructor Contact information (Email address)

Lab 60

Tuesday & Thursday
15:00 - 17:00
Craig Schissel schissel@cpsc.ucalgary.ca
Lab 61 Monday & Wednesday
11:00 - 13:00
Craig Schissel schissel@cpsc.ucalgary.ca

    

    Additional course information (component breakdowns, course text books etc)

Course Outline and Notes

 Tentative Schedule
Date Due during the week

Tuesday

Thursday

July 2,4 Nothing Section I: Introduction
   Course Administration 
   A brief introduction to Computer Science
   Introduction to computers
Section II: Number systems and logic
   Non-decimal based number systems
   Non-decimal based math
   Complements
   Logic
   Floating point representations
July 9, 11 A1: July 10
A2: July 11
Section III: The process of developing programs, program design and creating computer programs
   A high-level model for software development
   Designing programs through algorithms and pseudo-code
   Producing a machine-understandable program
Section IV: Getting started with programming      
   (Variables, input and output)

Section V: Making decisions
   Conditional statements in Pascal
   Case statements
July 16,18 A3: July 15 Section VI: Repetition
   Loops
Section VII: Homogeneous composite types
   Arrays (one dimensional)
   Strings
Section VIII: Pointers and memory
   Pointers in Pascal
Review
July 23,25 A4: July 22 Midterm break: no classes Midterm exam
Section IX: Arrays of arrays (grids)
   Arrays (two dimensional)
July 30, Aug 1 A5: Aug. 1 Section X: Dividing up problems
   Functions
   Recursion
Section XI: Storing and retrieving information
   Files

Section XII: Data structures
   Records
Aug 6,8 A6: Aug. 8 Section XIII: Sorting
   Example sorts using Pascal
Section XIV: Dynamic lists
   Link lists in Pascal
Section XIV: Dynamic lists (continued)
   Link lists in Pascal
Section XV: Creating ordered types
   sets, enumerated types, sub-ranges
Section XVI: Other data structures
   stacks and queues
Aug 13 A7: Aug. 13 Optional material
Review
Aug 15 - 17   Final exam occurs sometime here

Assignments (weights and tentative due dates)

    Assignment submission guidelines

    Assignment 1: Introduction to the Computer Science environment, number systems and logic (Due Wednesday July 10 worth 5%)

    Assignment 2: Algorithms and design  (Due Friday July 12 worth 2%)

    Assignment 3: Working with simple Pascal programs (Due Wednesday July 17 worth 3%)

    Assignment 4:  Factors and Prime factors (Due Monday 22 worth 3%)

    Assignment 5: The Game of Life (Due Thursday August 1 worth 6%)

    Assignment 6: A list of personal contacts version 1 (Due Tuesday August 13 worth 6%)

    Assignment 7: A list of personal contacts version 2 (Due Thursday August 15 worth 5%)

Grades

    Term grades

    Final exam

    Midterm exam

    Assignment grades (listed on Craig's web page)