Apr 19, 2024  
Fall 2017 Catalog 
    
Fall 2017 Catalog [ARCHIVED CATALOG]

CS 121 - Computer Science I


Credit Hours: 4

An introductory level survey course in computer science which will include the following topics: basic components and organization of a computer, machine representation of data, number systems, nature and design of algorithms, top down development of programs, data types, control structures and basic data structures. A structured programming language (such as C++) will be studied and utilized along with operating system and editor commands. Students will be required to complete several programming projects.

Course Outcomes
Upon completion of this course, the student will be able to:

  • identify basic components and organization of a computer;
  • demonstrate the use of the operating system and an editor to write and execute programs;
  • develop algorithms for solving problems on a computer utilizing a top-down approach with stepwise refinement;
  • write, debug and execute programs in a structured programming language;
    • use basic datatypes, expressions, and built-in functions to write elementary programs;
    • use user created and library functions. Differentiate between input and output (value, reference) arguments;
    • differentiate between iteration and recursion, and trace functions of each type;
    • implement the control structures of the language;
    • write modular solutions by use of multiple files for implementation of abstract data types; and
    • use user created classes.
  • identify problems where the use of arrays to store data is appropriate, and define the data types using arrays;
  • compare and analyze basic sorting algorithms: selection, insertion, exchange;
  • compare and analyze searching techniques: linear, binary;
  • write user documentation for programs explaining the purpose of the program to a user;
  • write programmer documentation explaining the implementation of the program to another programmer; and
  • technology objectives: Students will be able to demonstrate “hands on”proficiency in using current hardware, software tools and languages to accomplish all of the above course objectives.


Prerequisites: Intermediate Algebra and Trigonometry and some experience with a high-level programming language.
F/S (N, S)