Course Outline: CA, Diablo Valley College

By: Higher Education

Abstract: CS 110: Computer Science 110

Diablo Valley College

Computer Science 110
Course Outline

I. OBJECTIVES:

  1. To enable students to analyze problems specifications.
  2. To enable the students to design, code, debug, test, and document programs written to solve diverse problems.
  3. Help the student understand the fundamentals of good programming structure and good programming practices.
  4. Enable the student to understand the properties of data structures such as records, files, and arrays, and to assess their suitability for various applications.
  5. Introduce the fundamentals of pointers and recursion.
  6. Enable students to write and debug a 500 to 600 line program, and to explain how their program works.

II. CONTENT:

  1. Review of computer and programming terminology; using the computer (1 week)
  2. Introduction to data types; constants, variables, expressions and assignment statements.
  3. Input/Output
  4. Structure charts, and subprograms
  5. Flowcharting and pseudocode, conditions and logical operators, If statements, nested IF statements, selection structure
  6. Loop structures, counting and conditional loops
  7. Data representation, advanced data type considerations
  8. Structured types, one-dimensional arrays; multidimensional arrays; records; (3 weeks)
  9. File basics
  10. Introduction to recursion; simple recursive functions.
  11. Introduction to dynamic data structures; singly linked lists
  12. Tests

III. METHODS OF INSTRUCTION:

Assigned readings, lectures, and homework. Programs will be written and executed on a campus or home computer.

IV. EVALUATION:

  1. Methods:
    1. Write a program to categorize test scores, and find the highest and second highest values.
    2. Write a program to read a file representing an edit file. Write procedures to change, insert, delete and find lines.
  2. Frequency of Evaluation:
    Typically every two weeks for programs, every six weeks for tests, every two or three weeks for quizzes.

V. REQUIRED MATERIALS:

  1. Examples of typical college-level textbooks or other print materials:
    Textbook: Ron House Beginning with C, (Boston, Mass.: PWS Publishing, 1994). Use of a compiler for a commonly used language.
  2. Other materials and/or supplies required of students:
    Two diskettes

VI. TYPICAL ASSIGNMENTS:

  1. Reading:
    1. Read 15 to 25 pages for each class in the textbook.
  2. Writing, problem solving or performance:
    1. Write a program to compute and print the amount due for telephone calls
    2. Analyze the problem specifications for the Game of Life (from the Scientific American and then write a computer program to implement the specifications.
  3. Other Work:

Date approved by Instruction Committee 11/94 Revised

Date approved by Dean of Instruction


Diablo Valley College

CS 110
Course Outline

In this course, we want to teach students logic and programming concepts. The language, whether Pascal, C, or C++ is only a vehicle for instruction.

  1. Show students how to type in a program, use the compiler and print output.
  2. Explain what the .CPP, .obj, .bak and .exe files are.
  3. Constants and Data Types and Variables
  4. Solution planning
  5. Variable Declarations
  6. Comments
  7. Output (cout <<)
  8. Assignment, Arithmetic Operations & Precedence
  9. Input (cin >>)
  10. getche, puts, getch, gets, getchar
  11. Number Storage and Mixed Modes
  12. Control Statements
    1. ifs
    2. logical operators
    3. switch
    4. nested ifs
    5. conditional expression operators
  13. Simple #defines, # includes
  14. Program Looping
    1. for
    2. while
    3. do...while
    4. nested loops
    5. break
    6. continue
  15. Counting, Accumulation, Arithmetic Assignment Operator, Increment, Decrement Operator
  16. How to debug programs, using Turbo C ++ debugger to trace and watch
  17. Functions (pass by value, pass by reference (&), don't do pass by address)
    1. returns types
    2. arguments
    3. function calls
    4. storage classes, scope, visibility
  18. Array of Numbers
    1. arrays used for storage
    2. arrays used as accumulators
    3. arrays used for table lookup
    4. Indexed arrays
  19. Array of Characters (Strings), String Functions (don't use pointers, use arrays)
  20. Two-Dimensional Array of Numbers
  21. Two-Dimensional Array of Characters (which is a one-dimensional array of strings)
  22. Functions, Arrays, Passing Arrays to Functions (arrays to be manipulated by subscripts)
  23. Simple File Manipulation (use streams, have students read from an already created file)
  24. Structures
  25. Introduction to Pointers (just do the basics)
    1. initialization
    2. dereferencing
  26. Programming issues (throughout the course)
    1. style
    2. efficiency
    3. maintainability
    4. reusability
    5. top-down vs. bottom up approach
    6. cohesion
    7. coupling
    8. global vs. local variables
    9. time/space trade offs
    10. cryptic vs. Readable code
    11. error checking
    12. user interface
    13. documentation


Server Response from: ETNASC01