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: [MATH 1315 or MATH 1317 or MATH 1319 or MATH 1329 or MATH 2417 or MATH 2471 with a grade of "C" or better] or [ACT Mathematics score of 24 or better] or [SAT Mathematics score of 520 or better] or [SAT Math Section score of 550 or better].

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:

CS 1428 is the required introductory course for Computer Science majors and minors and will include a lab. (This course is intended for CS majors and minors only; non-CS majors should check their degree requirements or get with the academic advisor for an appropriate computer science class).


Section Info:

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