EECS Main > Academics > Course Info / Schedule

EECS 110 - Introduction to Computer Programming

COURSE TITLE: EECS 110 Introduction to Computer Programming

-  Fall and Winter are offered in C, Spring is offered in Python
- This course is approved for Weinberg Area II (Formal Studies) distribution credit

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 Winter are offered in C, Spring is offered in Python

- This course is approved for Weinberg Area II (Formal Studies) distribution credit

- This course is a required Core course in the CS curriculum in McCormick and Weinberg

REQUIRED TEXTBOOK: Forouzan & Gilberg, Computer Science: A Structured Programming Approach Using C, Thomson/Course Technology, 2nd edition

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.

PREREQUISITES: None

DETAILED COURSE TOPICS:

The Structure of C programs
Software development and pair programming
Literals, variables and types
Expressions, operators
Typecasting
Functions
Conditionals
Loops and random numbers
Arrays
Pointers and Dynamic Memory Allocation
Interactive Animation
Strings
Structures
Applications: searching and sorting
File input and output

HOMEWORK ASSIGNMENTS: Five

LABORATORY PROJECTS:

LAB 1 – The Visual C++ Environment
LAB 2 – Using a Debugger

GRADES:

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

Northwestern University Robert R. McCormick School of Engineering
and Applied Science Electrical Engineering and Computer Science Department