Computer Science with Applications 1

CMSC 12100 (aka CS121)


[9/27 1:15pm]: You can find instructions for installing the software needed for this course on your personal machine here.

[9/15]: Requests for lab and section swaps must be submitted by 5pm on Sept 28. Complete this form to make a request.

[9/15]: You can sign up for the waiting list using this form.

Course Staff


  • Yanjing Li
  • Anne Rogers
  • Borja Sotomayor

Teaching Assistants

  • Bernard Dickens
  • Kavon Farvardin
  • Maria Hyun
  • Hannah Morgan
  • Horace Pan

Lecture times and locations

Lecture Section #1 MWF 9:30-10:20am Ryerson 251
Lecture Section #2 MWF 11:30-12:20pm Kent Chemical Laboratory 120
Lecture Section #3 MWF 1:30-2:20pm Stuart 104
Lecture Section #4 MWF 11:30-12:20pm Ryerson 276

Lab times and locations

All labs take place in the Computer Science Instructional Laboratory located on the first floor of Crerar Library. Note that our labs are held in either CSIL 3 and CSIL 4.

Lab #1 Tues 9:00-10:20am CSIL 4
Lab #2 Tues 10:30-11:50am CSIL 3
Lab #3 Tues 10:30-11:50am CSIL 4
Lab #4 Tues 12:00-1:20pm CSIL 3
Lab #5 Tues 12:00-1:20pm CSIL 4
Lab #6 Tues 1:30-2:50pm CSIL 3
Lab #7 Tues 3:00-4:20pm CSIL 3
Lab #8 Tues 3:00-4:20pm CSIL 4
Lab #9 Tues 4:30-5:50pm CSIL 3
Lab #10 Tues 4:30-5:50pm CSIL 4
Lab #11 Tues 9:00-10:20am CSIL 3
Lab #12 Tues 6:00-7:20pm CSIL 4

Lab materials will be posted here.


We will be using the following textbooks:


Python Programming : An Introduction To Computer Science
Zelle John M.
ISBN-13: 978-1590282410.


Java: An Introduction to Problem Solving and Programming
Walter Savitch
Either the 6th edition (ISBN-13: 978-0132162708) or the 7th edition (ISB-13: 978-0133766264) is OK.

Both books are available at the Seminary Co-op bookstore.

Readings are listed here.

Sample problems

Programming assignments

We will be assigning seven programming assignments. You will be allowed to work in pairs in some of these assignments.


We will be giving evening exams on Nov 3rd 7-9pm and Dec 1st 7-9pm.

Tentative Grading Scheme

Programming assignments 60%
Exam 1 (Nov 3, 2015, 7-9pm) 20%
Exam 2 (Dec 1, 2015, 7-9pm) 20%

Late submissions

All students may use up to two 24-hour extensions for the programming assignments during the quarter. These extensions are all-or-nothing: you cannot use a portion of an extension and have the rest “carry over” to another extension. If extraordinary circumstances (illness, family emergency, etc.) prevent a student from meeting a deadline, the student must inform their instructor before the deadline.