Lecture: 3 hours
Discussion: 1 hour
A hands-on introduction to computation, through programming and problem solving
Prerequisite: Two years of high school algebra
Credit restrictions/cross listings: Two units of credit for students who have taken course 12 or Engineering 6. Not open to students who have completed course 30.
The class should teach students to write programs in the Python programming language, including the features of Python described below. After completing the class, students should be well-prepared for course 30 and for independent programming projects.
Summary of course contents
Object-oriented programming is introduced only in so far as it is necessary to use object-oriented applications modules.
Five or more programming assignments. Programs require students to apply the concepts covered in the lecture. For example, the following list describes the key topics that might be covered in a typical sequence of assignments: assignment statements, input/output statements; if statements and loops; functions and nested loops; one-dimensional arrays of numbers; functions with array parameters; two-dimensional arrays and text files; and a database (an array of objects or a set of parallel arrays), strings, and text files.
Science & Engineering
ABET Category Content:
Engineering Science: 0 unit
Engineering Design: 0 unit
Overlap This course overlaps in the introduction of basic programming concepts with ECS 12, ECS 15, ECS 30, and Engineering 6. It covers Python programming in much greater depth than ECS 15. ECS 10 does not cover topics such as memory management, pointers, and arrays, which are covered in the context of C programming in ECS 30. Engineering 6 covers programming in MatLab, which is a specialized language for mathematical data analysis, and ECS 12 covers programming in PROCESSNG, which is a specialized language for media programming This course covers general-purpose programming and is appropriate for all majors.
2012.10.28 (N. Amenta): Expanded and clarified the summary of course contents and the statement of overlap. Changed the minimum number of programming assignments from six to five. Added an online text. COCI Approval (2010.12.1). Prepared by N. Amenta (2007.02).