ENG236 Computer Programming

General Information

Lecturer:   Dr. Rocky K. C. Chang Office: PQ829; Phone: 2766-7258; Office hours: by appointment
Assistant:  Gary Yu

Student helpers:  Seifer, Keith

Venue:  CF004

Classes4:30-6:25pm on Thursdays

Assessment

3 written tests: 20%
3 programming tests: 30%
Project: 30%
Quizzes and homeworks: 20%

Your mid-term standing (the latest status)

 

Project

 

Last year's projects: A sign-reversal puzzle, a disease-infection puzzle [a sample] and a bucket-emptying puzzle

This year's projects: A cake-cutting game, a cornering game, and a moving-the-Queen

Project groups

 

A Tentative Teaching Plan 

Classes

Covered in lectures

Quizzes / tests

Homework / in-class exercises

Basic Programming Constructs

(1) 3 Sept.

Course overview,

Introduction, programming environment

None

Exercises 2.1, 2.2 (solution)

(2) 7, 10 Sept.

Revisit Hello World, variables and constants

None

Exercises 3.1a, 3.1b, 3.2a, 3.2b (solution)

(3) 14, 17 Sept.

Expressions and statements, program flow control

Written quiz 1 (solution)

Exercises 3.3a, 3.3b

(Solution)

Homework 1 (solution)

(4) 21, 24 Sept.

Functions,  Variables of functions

Written quiz 2 (solution)

Exercises 3.4, 3.5 (solution)

(5) 28 Sept. (1 Oct. is a holiday)

Design of a structured program

Written quiz 3 (solution)

Exercises 3.6, 3.6b (solution)

(6) 5, 8 Oct.

Debugging programs

Preparation for written test 1 and programming test 1

- Written quiz 4 (solution)

- Mock programming test (solution)

Exercises 4.1 (solution)

(7) 12, 15 Oct.

Programming test 1

- Mock written test on 12 Oct

- Programming test 1 on 15 Oct. (solution)

Exercises 4.2 (solution)

  17 Oct. 2:30-3:30pm PQ305 Written Test 1 (solution)

Basic Object Oriented Programming

(8) 19, 22 Oct.

Objects and classes

Written quiz 5 (solution)

Exercises 5.2a, 5.2b, and 5.2c (solution)

(9) 29 Oct. (26 Oct. is a holiday)

Modular programming with C++

Pointers

Written quiz 6 (solution)

Homework 2 (solution)

Exercises 5.3, 5.3b (solution)

Exercises 6.1 (solution)

(10) 2, 5 Nov.

Pointers (continued)

Arrays and strings

Programming quiz 7 (solution)

Exercises 6.1b, 6.1c  (solution)

Homework 3 (solution)

(11) 9, 12 Nov.

Command-line processing

 

Wirtten quiz 8 (solution)

Written quiz 9 (solution)

Exercises 6.2, 6.2b, 6.2c

(solution)

(12) 16, 19 Nov.

Parameter passing using pointers

Written quiz 10 (solution)
Written quiz 11 (solution)
Written quiz 12 (solution)

Exercises 6.2d, 6.2e, 6.3

(solution)

(13) 23, 26 Nov.

None

Programming quiz 13 on 23 Nov (solution) 

Written quiz 14 on 26 (solution)

 

(14) 30 Nov, 3 Dec.

None

Programming test 2 on 30 Nov  (solution)

Written test 2007

 

5 Dec. (2:30-3:30pm) PQ305

Written test 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Classes

Covered in lectures

Quizzes / tests

Homework / in-class exercises

Input/output, data structures, and GUI

(1) 12 Jan.

Stream I/O, part I

None

Exercise 7.1 (solution)

(2) 19 Jan.

Stream I/O, part II

None

Exercise 7.2 (solution)

(3) 26 Jan.

Elementary data structure

Written quiz 15 (solution)

Exercise 8.1 (solution)

Homework 4 (solution)

(4) 2 Feb.

Graphical User Interface

Written quiz 16 (solution)

Mini-project week 1

Exercise 9.1 (solution)

(5) 9 Feb.

Graphical User Interfaces

Written quiz 17 (solution)

Mini-project week 2

Exercise 9.2 (solution)

(6) 23 Feb.

Working with unmanaged code

Mini-project week 3

Exercise 9.3 (solution)

(7) 2 Mar.

No lecture

Prog. quiz 18  (solution)

Mini-project week 4

Exercise 9.4 (solution)

Homework 5  (solution)

(8) 9 Mar.

Creating a multiple-form interface

(back-of-card, diamond, heart, club, spade)

Mini-project week 5

(9) 16 Mar.

A brief introduction to GDI+

 

Written quiz 19

Mini-project week 6

 

(10) 23 Mar.

Mock programming test  (solution)

Mini-project week 7

 

27 Mar. (Sat) 2:30-3:30pm PQ 305

Written Test 3

o Written test 3 06-07      o Written test 3 07-08       o Written test 3 08-09

  (11) 30 Mar.

  Programming test 3

  Mini-project week 8

(12) 13 Apr.

Project consultation (no class)

Mini-project week 9

 

(13) 20 Apr.

Project consultation (no class)

Mini-project week 10

 

(14) 27 Apr.

Submitting the project report and demonstration  (no class)

Mini-project week 11s