CS 1428 - Foundations of Computer Science I

Course Description:

Introductory course for computer science majors, minors and others desiring technical introduction to computer science. Contains overview of history and structure of the digital computer, including binary data representation. Problem solving, algorithm development, structured programming, good coding style, and control structures of C++ are emphasized.

Prerequisite:

  • Prerequisite or corequisite: MATH 1315

Course Objectives:

1.

Understand the history and structure of the digital computer.

2.

Explain the organization of the classical von Neumann machine and its major functional units.

3.

Understand binary data representation in the modern computer, including the representation of non-numeric data.

4.

Understand that fixed-length number representations affect accuracy and precision.

5.

Identify the necessary properties of good algorithms.

6.

Discuss the importance of algorithms in the problem-solving process.

7.

Understand the software development process, good coding style, and algorithm development.

8.

Use pseudo-code or a programming language to implement, test, and debug algorithms for solving simple problems.

9.

Introduce the syntax of the C++ programming language.

10.

Understand how to use an if or if-else construct to implement a branch in an algorithm.

11.

Understand how to use a for loop for definite iteration.

12.

Understand how to use a while or do-while loop for indefinite iteration.

13.

Apply the techniques of structured (functional) decomposition to break a program into smaller pieces.

14.

Describe the mechanics of parameter passing with emphasis on the difference between pass by value and pass by reference.

15.

Manipulate data in arrays.

16.

Create a new data type by using a structure.

17.

Analyze and explain the behavior of simple programs involving the fundamental programming constructs covered by this unit.

18.

Modify and expand short programs that use standard conditional and iterative control structures and functions.

19.

Describe strategies that are useful in debugging.

20.

Design, implement, test, and debug a program that uses each of the following fundamental programming constructs: basic computation, simple I/O, standard conditional and iterative structures, and the definition of functions.

21.

Students will be able to use a Windows-based editor and compiler environment.

Course Notes:

COSC 2320.  
CS 1428 is the required introductory course for Computer Science majors and minors and will include a lab. (Course is intended for CS majors only; non-majors will take CS 1319).

Section Info:

Lecture/Lab Hours: 3 hours lecture, 2 hours lab.
Offered: Typically every semester.