CATALOG DESCRIPTION: Introduction to programming practice using a modern programming language. Analysis and formulation of problems for computer solution. Systematic design, construction, and testing of programs. Substantial programming assignments. Fall and Spring are offered in Python; Winter is offered in C.
This is an introductory programming course that is not part of the major. It provides an introduction to programming for those that can benefit from becoming better programmers, but without committing to the major student's version of the course.
- This course is approved for Weinberg Area II (Formal Studies) distribution credit
REQUIRED TEXTBOOK: Forouzan & Gilberg, Computer Science: A Structured Programming Approach Using C, Thomson/Course Technology, 3rd edition. Note: 3rd edition only; can't substitute 2nd edition
As of March 29 2013, for Spring Quarter 2013: There no books required for EECS 110 for the Spring but the reference book is: Zelle 'Python Programming: An Introduction to Computer Science Franklin' by Beedle & Associates (per Prof. Kuzmanovic)
COURSE COORDINATOR: Chris Riesbeck
COURSE GOALS: After this course, students will be able to translate problem specifications into the design and implementation of substantial C programs. Students will have written a complete interactive animated graphics application of their own design. Students will be able to apply their understanding of loops, functions, basic data structures, and files to the learning of more advanced concepts and other programming languages.
DETAILED COURSE TOPICS:
- The Structure of C programs
- Software development and pair programming
- Literals, variables and types
- Expressions, operators
- Loops and random numbers
- Pointers and Dynamic Memory Allocation
- Interactive Animation
- Applications: searching and sorting
- File input and output
HOMEWORK ASSIGNMENTS: Five
- LAB 1 – The Visual C++ Environment
- LAB 2 – Using a Debugger
- Programming Assignments – 55%
- Midterm – 15%
- Final – 30%
COURSE OBJECTIVES: After this course, a student should be able to understand or be familiar with:
- The syntax, semantics, and structure of C programs and libraries.
- The iterative process of editing, compiling, linking, executing, and debugging.
- The software development process, from problem specification, to algorithm design, to implementation
- The basic concepts of all programming: constants, variables, expressions, data types, strings, arrays, structures, functions, iteration, file input and output, pointers, dynamic memory allocation