SAMS 2017 - Programming Course

Course Syllabus

Course Description

The course introduces students to computer programming.

A computer program is simply a set of instructions that tells a computer to perform a task. However, finding the right set of instructions can be quite challenging. For this, one has to learn how to structure a larger problem into small subsets, and then find the solution to each of those subsets. A big part of this course is dedicated to teaching students a way of thinking that will enable them to build programs that solve interesting problems.

Just like human-understanble instructions can be given in various human languages, computer-understandable instructions can be given in various programming languages. There can be important differences between programming languages, but many of them use the same building blocks that are fundamental to programming. The course will teach these fundamentals using the Python programming language.

Learning Objectives

Resources

There is no required text for the course. Notes will be provided on the course website. We will frequently use notes from the Spring 2017 edition of the course 15-112 taught here at Carnegie Mellon University. These notes contain very useful examples and videos.

The following books can be used as additional resources:

  • How to Think Like a Computer Scientist (interactive online textbook)
  • Python Programming: An Introduction to Computer Science (regular textbook)
  • Furthermore, we highly recommend the official Python documentation for questions related to the Python programming language:

  • Python 3 documentation
  • Evaluation

    Evaluation will be based on participation, weekly assigned homework, and weekly quizzes.


    Valid CSS! Valid XHTML 1.0 Strict