Skip navigation

Site Map | College of Engineering | UC Davis | MyUCDavis

ECS 30 INTRODUCTION TO PROGRAMMING AND PROBLEM SOLVING (4) I,II,III

Lecture: 3 hours

Discussion: 1 hour

Prerequisite: Math 16A or 21A (may be taken concurrently); prior experience with basic programming concepts (variables, loops, conditional statements) recommended

Grading: Letter; programming projects (35%), two midterms (20% each), final (25%)

Catalog Description:
Introduction to computers and computer programming, algorithm design, and debugging. Elements of good programming style. Programming in the C language. Use of basic UNIX tools.

Expanded Course Description:

  1. Introduction: The computer, steps in solving a problem using a computer.
  2. Algorithms: General concept, development of efficient algorithms.
  3. Programming in C
    1. Scalar data types, concept of data type, standard and user-defined scalar types.
    2. Simple Statements, arithmetic and boolean expressions, assignment statements, simple input and output statements.
    3. Flow of control, repetitive statements, conditional statements, unconditional branching
    4. Data structures: single and multidimensional arrays; character strings; structs.
    5. Functions: general concept; declaration and calls; & and * operators; parameters; introduction to recursion.
  4. Software engineering: running, debugging, testing programs, building quality programs.
Textbook:

J. Hanley, E. Koffman, Problem Solving & Program Design In C, 5th edition, Pearson, 2006

Computer Usage:
I. Each student writes six or more C programs. Programs require students to apply the concepts covered in the lecture.

II. Programs are developed on Computer Science Instructional Facility machines running UNIX operating systems. Students use editors such as vi and EMACS, and are exposed to debuggers and other standard UNIX tools.

Engineering Design Statement:
Programming projects involve design, coding and debugging of open-ended problems requiring independent design of solutions to given problems. Students are graded on the basis of their design as well as the accuracy of their solutions. Lectures stress design concepts in solving programming problems. Exams include questions focusing on design concepts.

ABET Category Content:

Engineering Science: 1 unit
Engineering Design: 2 units

Goals:
Students will:

Student Outcomes:

Instructor: The Staff

Prepared By: P. Rogaway, N. Matloff (May 1997)

Overlap Statement:

This course does not duplicate any existing course

5/06

Back to Course Descriptions