Computer Science 231
Introduction to Computer Science for Computer Science Majors I

John Aycock

Winter 2017

Quick Links


24 March 2017

20 March 2017

14 March 2017

13 March 2017

12 March 2017

10 March 2017

9 March 2017

7 March 2017

6 March 2017

3 March 2017

27 February 2017

24 February 2017

19 February 2017

17 February 2017

16 February 2017

14 February 2017

13 February 2017

10 February 2017

9 February 2017

8 February 2017

6 February 2017

3 February 2017

27 January 2017

25 January 2017

18 January 2017

16 January 2017

12 January 2017

6 January 2017

General Course Information

Please read the course information sheet carefully.

In particular, be aware that the University regulations regarding plagiarism apply to assignment submissions. In other words, using someone else's code in your assignment without proper attribution is plagiarism regardless of where the code came from (e.g., a book, the Internet).


According to the Calendar's description:

Introduction to problem solving, the analysis and design of small-scale computational systems, and implementation using a procedural programming language. For computer science majors.



Lectures are in ENA 103, MWF 1-1:50pm.


There are four tutorial sections, all 50 minutes long:

T01 MW 9am MS 160 Daniel Fisher Web site
T02 MW noon MS 160 Samiul Azam Web site
T03 MW 10am MS 176 Daniel Fisher Web site
T04 TR 4pm MS 176 Kathleen Ang Web site

Late Policy

No late submissions will be accepted. If you get sick, have an accident or family crisis, you should still come see me like you would normally.

Note: TAs can not give extensions. Please do not ask them.

Schedule and Evaluation

Assignment 1 11.25% Friday, 3 February 2017  
Assignment 2 11.25% Friday, 3 March 2017  
Assignment 3 11.25% Friday, 24 March 2017  
Assignment 4 11.25% Wednesday, 12 April 2017  
Participation and Practice 5% See description  
Midterm Exam 1 10% Friday, 10 February 2017 In-class
Midterm Exam 2 10% Friday, 17 March 2017 In-class
Final Exam 30% Scheduled by the Registrar  

As stated on the course information sheet, in order to obtain a final grade of C- or better, you must achieve 50% or better on the overall assignment mark and 50% or better on the overall exam mark (final and midterms combined).

The grade conversion method from percentages to letter grades I will use is below. Rounding will be performed if necessary using the usual method. The square brackets and parentheses are used in their mathematical sense, meaning that square brackets are inclusive and parentheses are exclusive. For example, a grade of 93.75 is an A, not an A-.

Percentage Range Letter Grade
[93.75, 100] A
[87.5, 93.75) A-
[81.25, 87.5) B+
[75, 81.25) B
[68.75, 75) B-
[62.5, 68.75) C+
[56.25, 62.5) C
[50, 56.25) C-
[43.75, 50) D+
[37.5, 43.75) D
[0, 37.5) F

An A+ in the overall course will be awarded at my discretion for outstanding performance in all components of the course.

Lecture Overheads and Material

Please note: the slides may be changed up until class time as I fine-tune them!

From the Google Drive menu, you can save these in a variety of formats, including PowerPoint.

Past Exams, Study Aids, and Extra Information


How to Contact Me

Please feel free to drop by my office (ICT 650); I have an open-door policy but no scheduled office hours for CPSC 231. If I'm in my office but the door is closed - a rarity - please don't knock. I'm probably frantically trying to get something done.

The best way to reach me outside of office hours is by email: I read my email very frequently, even on many evenings and weekends; many questions can be answered that way. If you want to arrange a face-to-face meeting outside of my office hours, send me some mail and we can set up a time.

Please include ``CPSC'' or ``231'' in your email subject line so that it stands out from the tons of spam I get sent! My mail reader highlights messages that contain CPSC or 231 in the subject line.

While I can be found on Facebook, I use it only for non-work contacts, so I won't respond to any CPSC 231 messages or friend requests on there, sorry! Same for my Twitter account, which I use for retrogame-related things (although you're welcome to follow me on there if that interests you - it doesn't affect your grade either way).

John Aycock 2017-03-24