Aug 18 (Fri), 2017
The letter grades have been submitted to registra!
Soon you will be able to check your unofficial grade somewhere on the web (I am not sure where it is but it is not ePost). Grades are subject to Faculty approval.
Email me if you can't wait to see your grade.

I believe that most of you would be happy with your grade.

Thank you again for your co-operation thoughout the term, and hope all of you a good luck with your studies in the new term!

Aug 15 (T), 2017
Finally all the weekly lab marks have been posted.
Lab6 marks have been fixed.
Email the TA (Robert) ASAP if you have enquiries about the lab marks.

Aug 13 (Su), 2017
Final written test has been marked.
Email me if you want to know your raw marks.
If you want to review your final written, email me for an appointment. The final letter grades will be submitted to registra on Aug 17, so you should contact me before Aug 17.
I am potentially available Aug 13 (Su) 5-9pm, Aug 14 (M) 7pm-9pm, Aug 15 (T) 7pm-9pm and Aug 16 (W) 7pm-9pm.
Email me first if you need an appoinment.

Aug 13 (Su), 2017
Raw marks for labtest II have been posted.
For queries, please send email to and cc me.

Aug 5 (Sat), 2017
Marks and sample solutions for lab 9 have been posted.
Lab 3 - 7 are being marked.

Aug 3 (R), 2017
Final Exam page is up now.
You don't have to use a calculator but it is a good idea to bring one.

July 30 (Su), 2017
Marks and sample solutions for lab 8 have been posted.

July 27 (R), 2017
Slides for the last lecture have been posted.

July 25 (T), 2017
Our regular classroom should be available for today's lecture.
So today's lecture will be in regular classroom. We use LSB as a backup in case.
Please go to the regular classroom first to check.

July 22 (Sat), 2017
For those who has enquiries about the marking of weekly lab 1 and weekly lab2, please contact the TA at
Robert is also marking lab 3-7. Future inquires about lab3-7 marks should also go to him.

July 22 (Sat), 2017
Lab9 is online now.
Each shell script is pretty short. A good practice for the final exam.

July 17 (M), 2017
I will hold office hours tomorrow Tuesday 3-4pm in LAS 2008.

July 13 (W), 2017
"Labtests" page has been update with info regarding labtest 2.

July 12 (W), 2017
Slides for yesterday's lecture and corresponding book chapter are posted.

July 12 (W), 2017
Sample solution for Lab7 has been posted.

July 12 (W), 2017
Lab8.pdf has been updated with several typos fixed.

July 9 (Su), 2017
Lab8.pdf (final version) is online now.
Involves topics already covered in class (July 4), as well as topics that will be covered in next class (July 11). Do whatever you can do now.

What to answer: answer all questions, starting question 1.
For each question, write/type the full command that you issued for that question.
For example, for question 1, write/type cp /cs/dept/....   for question 2, ls xxx    for question 3, cp /cs/dept/....    for question 38 diff xFile2, xFile3    for question 107 egrep sea lyrics
For a small number of questions , e.g., question 8, 18, 24, 73, 79, 84, 85, 86 etc, the answer is already given. You can write/type the answers I gave as your solution.
For question about "what do you get", e.g., question 85, 118, 119, you should write/type the output you get.

July 9 (Su), 2017
Sample solution for Lab6 has been posted.

July 5 (W), 2017
Lecture notes for yestersday's lecture are postd.
Extra reading material is also posted.

July 4 (T), 2017
Raw marks (out of 100%) for labtest-I and midterm written test have been posted on ePost.

July 3 (M), 2017
Extra reading material for the last two lectures (memory allocation, heap, linked list) have been posted.

June 30 (F), 2017
Lab7.pdf is online (again). You can work on it if you like :).

June 30 (F), 2017
If you need to work on Canada Day to finish lab 6, that is fine.
Send in by Sunday :)

June 29 (R), 2017
Sample solutions for Lab5 have been posted.

June 27 (T), 2017
Some clarifications/corrections for lab 6.
  • For Question A, regarding sample output
    1 1 
    3 3 
    5 5 
    you are expected to print each element twice using both array notation and pointer notation. The corresponding comment in lab6A.c has also been updated.

  • In Lab6.pdf, Question C and F, function printArray() and exchange() should "take as argument an array of char pointers", not 2D array.
    The pdf has been updated with the corrections. Sorry about the confusions.
June 25 (Su), 2017
Lab6.pdf has been revised and is on-line again.
If you have started lab 6, please follow the new version.

June 24 (Sa), 2017
Raw marks for lab 1 and lab 2 have been posted on ePost.

June 23 (Fri), 2017
In marking weekly labs and labtest, we noticed that people really haven't caught on to using proper style when writing their labs.
Major issues include: inconsistent indentation; no indentation; inconsistent spacing etc.
Code like this will have deduction for bad style.

Here is a good style guide.

June 22 (R), 2017
Sample solutions for midterm written test is posted (on "Lecture Schedule" page).

June 22 (R), 2017
Lab 6 starts today and next Tuesday.

June 21 (W), 2017
Slides for yesterday's lecture are posted.
We will finish all C material in the next lecture.

June 18 (Su), 2017
Forum (Q&A) page has been updated with some new questions I received recently.

June 16 (Fri), 2017
Sample solutions for Labtest 1 is posted (on "Weekly labs" page).

June 15 (R), 2017
Lab 5 starts today and next Tuesday.

June 13 (T), 2017
I will hold office hours today 4:30-5:50pm in LAS 2008.

June 10 (Sa), 2017
Some more info about the midterm written test:
- The focus will be on the understanding of various concepts covered in class, not your programming skills.
- There will be quite some questions (weight about 43%) on pointers
- You don't have to use calculators but it would be a good idea to bring one.

June 6 (T), 2017
I will hold office hours 3pm-4pm today in LAS 2008.

June 4 (Su), 2017
Sample solutions for Lab4 have been posted.

June 1 (R), 2017
Sample solutions for Lab3 have been posted.

May 31 (W), 2017
Slides and programs shown in lecture 5 are posted. Extra readings are also posted.

May 30 (T), 2017
Labtest page is up. The page contains info about labtest1. Please read.

May 30 (T), 2017
For lab4 question A, the first line of output should be 100 100, not 10 10. The pdf has been updated.

May 29 (M), 2017
A link Q&A has been added to the menu. The Q&A page contains typical questions I received from the class and my answers.

May 28 (Su), 2017
Lab4.pdf is on-line now. You can start working on it now, if you perfer.
It is due on Friday night.

May 24, 2017
The 'submit' should work now. Please submit lab3 from prism lab or by remote login to red.
In general, the web-based submit is not recommended. If you have submited lab 3 via web-based submission, please submit again using the command-line tool.

May 21, 2017
Sample solutions for lab1 and lab2 are posted.

May 17, 2017
For lab2, when you compile the provided program lab2C0.c or lab2C.c with -Wall (Warning all) option, you will see "warning: format '%d' expects type 'int', but argument 4 has type 'long unsigned int'". This is becasue sizeof returns a long unsigned int, but %d expects a (signed) int.
You don't need to fix this, but just for fun, you can change %d to %lu, which expects a long unsigned int, then the warning will disappear.

May 17, 2017
The Lab2.pdf is updated with a couple of typos fixed, especially the typo mentioned below.
(You might need to refresh your browser to see the changes.)

May 16, 2017
There was a typo in Lab2.pdf: for question C0, last paragraph of page 3, the sentence "Modify the first line of program to int [] k = {3,5};" should be "Modify the declaration int k [SIZE]; to int k [SIZE] = {3,5};"
The pdf will be updated shortly (after class). Sorry about that.

May 14, 2017
Sides for Control Flow is posted. Read by yourself.

May 11, 2017
Extra readings for lecture2 (number systems) are posted under Extra Resources.
Programs shown in class are also posted. Please download and play with them.

May 10, 2017
Lecture slides for lecture 2 are now posted.
Please read the slides and the corresponding sections in the textbook.

May 04, 2017
If you are in Thursdays lab session but missed it today, or if you perfer to come to Tuesday's lab session, you can come on Tuesday May 10. There are some spaces there.

May 02, 2017
Lecture slides for today's lecture are now posted.
Please read the slides and the corresponding sections in the textbook.

May 01, 2017
The pdf lecture schedule on the department's website was updated today. The lab times are now consistent with those shown on the registra's website.

April 28, 2017
No lab on Tuesday May 02.
Lab1 starts on Thursday May 04 (for lab session 02) and May 09 (for lab session 01), 4pm in LAS 1006.

April 28, 2017
The first lecture will be on May 02 (Tuesday). 6pm in LAS C.

April 26, 2017
The web site is up. Welcome to the course!