CPSC 203 — Class Schedule

Week #1: Introduction to CPSC 203; Logic and Set Theory
Tuesday, January 13 Lecture #1 Introduction to CPSC 203; Propositional Logic
Thursday, January 15 Lecture #2 Propositional Logic, Continued; Elementary Set Theory
Required Reading: Computer Science for Visitants, Chapter 1
Recommended Reading: Fluency with Information Technology, Chapters 1 and 2
Week #2: Logic and Set Theory; Spreadsheet Design
Tuesday, January 20 Lecture #3 Elementary Set Theory
Wednesday, January 21 Assignment Assignment #1 is Available — on Tutorial Wiki
Thursday, January 22 Lecture #4 Spreadsheet Design
January 19–20 Tutorial #1 Introduction to Spreadsheets and Basic Calculation
January 21–22 Tutorial #2 Spreadsheets: Complex Calculations, if-then Statements, and Pivot Tables
Recommended Reading: Fluency with Information Technology, Chapters 14 and 15
Week #3: Graphs and Trees
Tuesday, January 27 Lecture #5 Graphs
Thursday, January 29 Lecture #6 Graph Problems, Algorithms, and Applications
January 26–27 Tutorial #3 Spreadsheets: Charts and Visual Design Rules
January 28–29 Tutorial #4 Spreadsheets: Spreadsheet Design Rules
Required Reading: Computer Science for Visitants, Chapter 3
Recommended Reading: Fluency with Information Technology, Chapter 10
Week #4: Graphs and Trees, Continued
Tuesday, February 3 Lecture #7 Trees
Thursday, February 5 Lecture #8 Application: Huffman’s Coding
February 2–3 Tutorial #5 Spreadsheets: Analysis and Forecasting
February 4–5 Tutorial #6 Lab Quiz #1: Spreadsheets
Week #5: Databases
Tuesday, February 10 Lecture #9 Databases
Thursday, February 12 Lecture #10 Databases, Continued
February 9–10 Tutorial #7 Introduction to Databases; Basic Parts of a Database
February 11–12
 
Tutorial #8
 
Databases: Fields, Keys, and Simple Queries (Single Table)
Introduction to Assignment #1
Required Reading: Computer Science for Visitants, Chapter 5
Recommended Reading: Fluency with Information Technology, Chapter 16
Prerequisite/Must Know: Set theory and propositional logic from Week #1
Reading Week (February 16–22): No Lectures or Tutorials
Week #6: Databases, Continued
Monday, February 23 Assignment Assignment #1 is Due at 11:59pm
Tuesday, February 24 Lecture #11 Databases, Continued
Thursday, February 26 Lecture #12 Midterm Review
February 23–24 Tutorial #9 Databases: Multi-Table Queries and Aggregate Queries
February 25–26 Tutorial #10 Databases: Cross Tab Queries and Custom Calculations
Week #7: Introduction to Programming
Tuesday, March 3 Lecture #13 Introduction to Programming: Variables and Assignment Statements
Wednesday, March 4 Midterm Exam Begins at 5:00pm in ENA 201
Thursday, March 5 Lecture #14 Introduction to Programming: Tests
March 2–3 Tutorial #11 Databases: Query Analysis Examples
Review of Assignment 2
March 4–5 Tutorial #12 Programming: Introduction to JES; Variables and Constants
Required Reading: Computer Science for Visitants, Chapter 2
Recommended Reading: Jython Tutorial
Week #8: Introduction to Programming, Continued
Monday, March 9 Assignment Assignment #2 is Available
Monday, March 9 Project Project is Available
Tuesday, March 10 Lecture #15 Introduction to Programming: Loops
Thursday, March 12 Lecture #16 Programming Examples: Searching and Sorting
March 9–10 Tutorial #13 Lab Quiz #2: Databases
March 11–12 Tutorial #14 Programming: Loops and Conditions
Week #9: Computer Organization
Tuesday, March 17 Lecture #17 Components of a Modern Computer
Thursday, March 19 Lecture #18 The Binary Number System
March 16–17 Tutorial #15 Programming: Functions
March 18–19 Tutorial #16 Programming: Graphics
Required Reading: Computer Science for Visitants, Chapter 4
Recommended Reading: Fluency with Information Technology, Chapters 8 and 9
Prerequisite/Must Know: Set theory and propositional logic from Week #1
Week #10: Computer Organization, Continued
Tuesday, March 24 Lecture #19 Logic Gates and Logic Circuits
Thursday, March 26 Lecture #20 Finite State Machines as Logic Circuits;
Relationship between High Level and Low Level Programs
March 23–24 Tutorial #17 Programming: Review
March 25–26 Tutorial #18 Lab Quiz #3: Programming
Week #11: Computer Networking and Security
Tuesday, March 31 Lecture #21 Computer networking
Thursday, April 2 Lecture #22 Computer security
Friday, April 3 Assignment Assignment #2 is Due at 11:59pm
March 30–31 Tutorial #19 Design: Defining the Problem; Sketching & Critical Variables
April 1–2 Tutorial #20 Design: Use/Case Situations; Relationships Amongst Critical Variables
Required Reading: Computer Science for Visitants, Chapter 6
Recommended Reading: Fluency with Information Technology, Chapters 3 and 13
Week #12: Project Presentations
Tuesday, April 7 Lecture #23 Project presentations
Thursday, April 9 Lecture #24 Project presentations
April 6–7
 
Tutorial #21
 
Design: Planning a Solution; Relationships Amongst Critical Variables;
Top Down Design
April 8–9 Tutorial #22 Design: Prototyping; Interface Design
Week #13: Project Presentations
Tuesday, April 14 Lecture #25 Project presentations
Thursday, April 16 Lecture #26 Project presentations
April 13–14 Tutorial #23 Quiz #4: Set Up
April 15–16 Tutorial #24 Quiz #4 Submission
Friday, April 17 Project Wiki Part of Project is Due at 11:59pm
Examination Period
Friday, April 24 Instructor’ Office Hour 9:00–11:00am in ICT 613
Monday, April 27 Instructor’s Office Hour 9:00–11:00am in ICT 613
Wednesday, April 29 Instructor’s Office Hour 9:00–11:00am in ICT 613
Wednesday, April 29 Final Examination 12:00–2:00pm in KN RED


University of Calgary Extension of Logo
Department of Computer Science

cpsc 203 computer science faculty of science u of c

CPSC 203 Course Information Class Schedule Contact Information Course Notes More on Programming Mistakes in Notes Tutorials Project Information