|
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
|
4
|
|
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.
|