ECS 32A Introduction to Programming (4 units)


Lecture: 3 hours

Discussion: 1 hour

Catalog Description:

Introduction to programming and problem solving in Python. Aimed primarily at non-major students.


Two years of high school algebra

Credit restrictions/cross listings:

No credit to students who completed previous ECS 010, ECS 030 or higher.


The class should teach students to write programs in the Python programming language, including the features of Python described below.

Summary of Course Content:

  • Introduction: the design of a computer, steps in solving a problem using a computer
  • Algorithms: general concept, development of efficient algorithms
  • Programming in Python
  • Scalar data types, concept of data type, standard and user-defined scalar types
  • Simple statements, arithmetic and boolean expressions, assignment statements, simple input and output statements (including file I/O)
  • Flow of control, repetitive statements, conditional statements
  • Data structures: lists, strings
  • Functions: general concept; declaration and calls; parameters
  • Classes
  • Use of an Integrated Development Environment  (IDE)

Illlustrative Reading:

John ZellePython Programming: An Introduction to Computer Science, Addison-Wesley, 2010 


Science & Engineering

ABET Category Count



This course overlaps in the introduction of basic programming concepts with ECS 12, ECS 15, ECS 30, ECS 36A, and Engineering 6. It covers Python programming in much greater depth than ECS 15. ECS 32A does not cover topics such as memory management, pointers, and arrays, which are covered in the context of C programming in ECS 30. ECS 32A does not cover topics such as the UNIX environment that are coved in ECS 36A. Engineering 6 covers programming in MATLAB, a specialized language for mathematical data analysis, and ECS 12 covers programming in PROCESSNG, a specialized language for media programming. ECS 32A covers general-purpose programming and is appropriate for all majors. 




Added 9.4.2018 (CSUGA)