COURSE DESCRIPTION

 

CSCI 201 Computer Science I

 

2006/2007 Catalog Data

CSCI 201. Computer Science I. Credit: 4. Prerequisite: satisfactory score on the Entry Level Mathematics examination, and either some prior computer programming experience, or CSCI 125. Computer software design, implementation, methods, and environments using a current high-level language. Survey of computers, applications and other areas of computer science. Three hours lecture and two hours activity laboratory. 

Textbook

Computing Concepts With C++ Essentials 3rd Edition, Horstmann, Wiley. 2003. 

Reference

http://ftp.csci.csusb.edu/voigt/cs201_s07/cs201-home-s07.html

Coordinator

Kerstin Voigt, Associate Professor of Computer Science

Goals:

To provide the student with knowledge and skills in computer software design, implementation, methods, and environments using the programming language C++. The course includes a survey of computers, applications, and other areas of computer science.

Prerequisite by Topic

1. Basic Mathematics
2. Prior programming experience (e.g., BASIC)
3. Contemporary computer technology
4. Impact on society and ethics

Topics

1. Computers and Programming (3 hours)
2. Fundamental data types and I/O (3 hours)
3. Using simple classes and objects (3 hours)
4. Basic control flow (if, while) (3 hours)
5. Functions and procedured (3 hours)
6. Defining classes, using objects,UML (3 hours)
7. Advanced control flow (nested if, for, do-while) (3 hours)
8. Testing and debugging (3 hours)
9. Vectors, arrays (3 hours)
10. Applications with vectors and arrays 

Laboratory Projects

 

1. Introduction to operating system, text editor, first program
2. Basic data types, input, output
3. Using basic classes, simple graphics program
4. Simple conditional statements*
5. Better programming with functions
6. Programming with user-defined classes
7. Testing and debugging
8. More advanced programming with user-defined classes
9. Programming with advanced control flow
10. Programming with vectors
*This and all following labs will include one exercise that contributes to a gradually evolving running project (e.g., a game program). 

Estimate Curriculum Category Content

 

 

* Algorithms: 1 Core
* Data Structures: 1 Core
* Software Design: 1 Core
* Programming Languages: 1  Core

Total Credits 

Oral and Written Communication 

Students are asked to write documentation together with their code.

Social and Ethical Issues 

Students are reminded that cheating and copying will not be tolerated.

Theoretical Content 

Some very basic algorithm analysis.

Problem Analysis 

Students are given small programming projects. Objects with specifications. Start using UML.

Solution Design 

The students are taught to write an algorithm first before implementation.