Lecture M 6:00-9:00PM. Shillman 335.
Recitation (CS5003) R 6:00-9:00PM. WVH 210/212.
Final Exam April 22, 2019. 6-9:00pm


Syllabus: Download (PDF)

Instruction Team

(Office hours begin on Tuesday, January 8th.)

Professor Laney Strange

Office WVH 310
Office Hours T 3:00-6:00pm

Teaching Assistant Leyu Zhang

Office Hours W 12-3pm (KA204)

Teaching Assistant Ian Magnusson

Office Hours T 11am-2pm (KA208)

Teaching Assistant David Aron

Office Hours M 2-5pm (KA204)
W 7-10pm (SL049)

Teaching Assistant Gabe Bishop

Office Hours R 2-5pm (KA308)

Teaching Assistant Hassan Khan

Office Hours F 3-6pm (SL043)

Teaching Assistant Jeremy Lee

Office Hours T 6-9pm (SL049)
W 5-8pm (SL049)

Course Goals

This course is an accelerated introduction to computer science with the Python programming language. Along with the other courses in the Align program, it will prepare you to complete your Master's Degree in computer science.

We believe that computer science is for everyone. No matter what your background is, you can succeed in CS5001. Computer science is a creative, collaborative field -- it's not just programming. While programming is certainly an important craft and Python is an essential tool, we emphasize concepts and problem-solving over programming language. Learning computer science is like learning a new spoken language. There are rules of syntax and semantics, and sometimes a whole new mindset will apply. In this course, you'll learn how to think algorithmically, and how to solve problems elegantly.

  • learning how to solve problems through computer programming,
  • the common features of all programming languages as problem-solvers,
  • syntax and semantaics of Python programs,
  • debugging programs, and
  • algorithm analysis.
Homework will be assigned (almost) every week. You'll break down big problems into smaller ones and put your problem-solving skills to work with Python
Recitation (CS5003) is required. We meet every thursday to get additional coding experience, as well as for special Align seminars.


The final grade for this course will be weighted as follows.

Homeworks will be evaluated according to the CS5001 Grading Rubric. Your lowest homework score will be dropped and will not count towards your final grade. You may turn in ONE homework up to four days late (see the course policies page for details).

There are 5-7 questions per quiz. Your quiz grade will be scaled, though (for example, getting one question wrong on a 6-question quiz doesn't mean your quiz score is 5/6 = 83%). Quiz scaling will be applied as follows:

Classroom Environment

In my classroom, please ask questions, and answer questions! In computer science, we seldom get anything right on the first try. We see how an attempt turned out, and we try again. I like our classroom to reflect that approach as well; so please answer a question that's been posed, even if you're not sure of the answer.

To create and preserve a classroom atmosphere that optimizes teaching and learning, all participants share a responsibility in creating a civil and non-disruptive forum for the discussion of ideas.

Students are expected to conduct themselves at all times in a manner that does not disrupt teaching or learning. Your comments to others should be constructive and free from harassing statements.

When you come to class, I ask that you be fully present. No phones are permitted in the classroom. If you use a laptop, use it only to take notes. Please be respectful of your fellow students and me by participating attentively and non-disruptively.