Course Outline

CS161 Introduction to Computer Science

Fall 2009

(the following outline is subject to change!)

 

Introduction to Computers and Programming

 

Date:

Topic:

Readings, Assignments:

9/29

Introduction

**Login to BlackBoard

 

Syllabus,

 

 

Objectives for the Course,

Shk: 1

 

Instructor Biography,

Please read the syllabus

 

Review Outline.

 

 

Discuss the Science of Computing

 

 

Problem Solving

 

 

10/1

Introduction to Solving Problems with Computers

 

Problem Solving, Abstraction and Program Engineering, Software Development Method, Programming Languages, Processing a High-Level Language Program, Using a Computer.

 

 

Examples of what we can do with programs

 

In class: Learn how to login and enter in programs developed in class

 

 

Graded Online Class Discussion: Thought Process of Problem Solving

 

Algorithms

 

10/6

Problem Solving Fundamentals and Algorithms

Shk: 2

 

Introduction to algorithms

Why are algorithms necessary

Decision steps in an algorithm,

Checking the correctness of an Algorithm, Problem Solving Strategies.

 

 

 

Create algorithms in class to prepare for Homework #1

 

 

 

 

Date:

Topic:

Readings, Assignments:

 

10/8

Survey of Languages and Examples

Introduction to what we can do with different type of languages.

Shk: 3.1-3.8

 

 

Experience examples of the general form of programs, statements, data types.

Get familiar with terminology.

 

 

Homework #1 is Due

email it to karlafgr@cs.pdx.edu

 

 

 

 

 

 

Graded Online Class Discussion:

Putting the Pieces Together of a Program

 

 

 

 

10/13

What does Selective Execution mean?

Shk: 3.9

 

Control Structures, Logical Structures, Introduction to the if statement

 

 

Experience selective execution in a variety of programming languages.

 

 

 

 

 

 

 

 

 

 

 

10/15

More Selective Execution

 

 

Nested if statements and Multiple Alternatives.

Homework #2 is Due

email it to karlafgr@cs.pdx.edu

 

Graded Online Class Discussion: Tracing a Program or Algorithm, Debugging and Testing Programs.

 

 

 

 

 

 

10/20

What about Repetition?

Shk: 5.11

 

How can we cause code to be repeated?

Structured programming versus using go-to’s

 

 

Evaluate example of programs using loops

 

 

Example of different types of loops and discuss why/when they are used

 

 

 

10/22

Practice Repetition

  

 

 

 

 

 

 

Review of for, while, and do-while Loops, Nested Loops, Debugging and Testing Programs, Common Programming Errors

 

 

 

 

 

 

 

 

 

 

10/27

Social, Professional, Ethical Issues

Homework #3 is Due

 

 

Review for Midterm

 

 

 

Question and Answer session

 

 

 

 

Graded Online Class Discussion:

Professional Ethics and Responsibilities

 

 

 

 

 

10/29         Midterm


Procedural Abstraction

 

Date:

Topic:

Readings, Assignments:

11/3

Solving problems with functions

 Shk: 4.1-4.9

 

Independent Modules, Functions with and without Arguments; Use examples in different languages

 

 

 

11/5

Writing Functions in High Level Languages

 

 

 

 

 

Functions in the Design Process, Using Function Return

 

 

Values for Decision and Loop Control, Output Arguments,

 

 

Syntax Rules.

 

 

 

 

 

Graded Online Class Discussion:

Incorrectly Ordered Argument Lists,

 

 

Generalized Functions, Choosing Argument Names.

 

 

 

11/10

Working with Arrays and Records

Shk: 5.1-5.4, 5.13

11/12

How can arrays be beneficial

 

Graded Online Class Discussion:

Examine examples using arrays

Learn high level syntax for array processing

 

Homework #4 is Due

 

 

11/17

Building Algorithms and Solving Problems

Begin using conditionals, loops, and functions to solve larger problems.

Verifying Correctness

Shk: 8

 

 

 

 

11/19

Continue with algorithm development

Examine solutions to problems posed in class

 

Graded Online Class Discussion:

Let’s go back to algorithms and rethink our approach!

 

 

 

 

 

 

 

11/24

Software Design Methodologies

 Homework #5 is Due

 

 The software challenge, the software life cycle, procedural abstraction, modular abstraction, data abstraction

 

 

 

 

           

 

 

 

12/1, 12/3

Review for the Final

Homework #6 is

Due 12/3

 

 

 

 

 

 

 

 

 

 

 

 

 

*** Notice the day and Time of the in-class Final Exam ***

 

Comprehensive Final Exam          Tuesday December 8th 10:15am-12:05