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, Kee, Kin Yuen, Kris, and Benny

Venue:  CF004

Classes10:30am-12:25pm on Mondays and 4:30-6:25pm on Thursdays

Assessment

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

 

Project

 

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

 

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 12 on 23 Nov (solution

 

(14) 30 Nov, 3 Dec.

None

Programming test 2 on 30 Nov (solution)

Mock written test on 3 Dec

 

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

Written test 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Classes

Covered in lectures

Quizzes / tests

Homework / in-class exercises

Input/output, data structures, and GUI

(1) TBD

Stream I/O, part I

None

Exercise 7.1 (solution)

(2) TBD

Stream I/O, part II

None

Exercise 7.2  (solution)

(3) TBD

Elementary data structure

Written quiz 6

Exercise 8.1 (solution)

Homework 4 (solution)

(4) TBD

Graphical User Interface

Written quiz 7

Exercise 9.1 (solution)

(5) TBD

Working with unmanaged code

Mini-project week 1

Exercise 9.2 (solution)

(6) TBD

Creating a multiple-form interface

Mini-project week 2

Exercise 9.3 (solution)

(7) TBD

A brief introduction to GDI+

Written quiz 8

Mini-project week 3

Exercise 9.4 (solution)

Homework 5  (solution)

(8) TBD

Mock written test (solution)

Mini-project week 4

 

(9) TBD

Mock programming test  (solution)

Mini-project week 5

 

(10) TBD

Mock programming test (solution)

Mini-project week 6

 

TBD

Written Test 3

(11) TBD

Programming test 3

Mini-project week 7

 

(12) TBD

Project consultation (no class)

Mini-project week 8

 

(13) TBD

Project consultation (no class)

Mini-project week 9

 

(14) TBD

Submitting the project report (no class)

Mini-project week 10

 

 TBD

   Project demonstration (CF004)