Course Description:

This course is an introduction to computer science and computer programming. The programming language Python (Version 3) is used to introduce basic programming skills and techniques. NOTE: This website has general information about the course. For the current information about Fall 2020 and specific pandemic-related information for current students, please see moodle.smith.edu

Instructors: R. Jordan Crouser and Shinyoung Cho

Course meeting times: MWF 9:20-10:35 EST

Office hours: Jordan: Tuesdays 10am-12pm, Shinyoung: Thursdays 4pm – 6pm

Lab Instructor: David Marshall


Learning Goals:

The objectives for this course are for each student to become familiar with:

  1. Basic programming constructs such as if-then statements, loop control, functions, lists, simple input-output, object-oriented programming (OOP), searching, and recursion.
  2. Foundational techniques including top-down design, program documentation, modular design, all resulting in code that can be readily understood and used by other programmers.
  3. The Python programming language and its syntax, features, libraries, and limitations.
  4. The high-level internal operation of a computer, including the central processing unit, simple memory management, and the file system.

Prerequisites:

None. No prior experience with computer programming is assumed.