May 01, 2024  
2022-2023 Catalog 
    
2022-2023 Catalog [ARCHIVED CATALOG]

CSCI 179 - Computer Science Bridging Course


PREREQUISITES: Demonstrated Readiness for College-Level Calculus and SDEV 140 - Introduction to Software Development  
PROGRAM: Computer Science
CREDIT HOURS MIN: 1
LECTURE HOURS MIN: 1
DATE OF LAST REVISION: N/A

Covers the additional content within the Computer Science Curriculum not already occurring in Software Development coursework. This course is required to allow students to meet the Computer Science TSAP standards for crosswalk.

MAJOR COURSE LEARNING OBJECTIVES: Upon successful completion of this course the student will be expected to:

  1. Explain the parallels between ideas of mathematical and/or structural induction to recursion and recursively defined structures.
  2. Perform computations involving modular arithmetic.
  3. Calculate probabilities of events and expectations of random variables for elementary problems such as games of chance.
  4. Discuss how a problem may be solved by multiple algorithms, each with different properties.
  5. Write a program that uses file I/O to provide persistence across multiple executions.
  6. Compare alternative implementations of data structures with respect to performance.
  7. Identify common coding errors that lead to insecure programs (e.g., buffer overflows, memory leaks, malicious code) and apply strategies for avoiding such errors.
  8. Utilize a provided checklist to perform a personal code review (focused on common coding errors) on a program component.
  9. Perform a small-team code review focused on component correctness.
  10. Refactor a program by identifying opportunities to apply procedural abstraction.
  11. Analyze the extent to which another programmer’s code meets documentation and programming style standards.


COURSE CONTENT: Topical areas of study include -  

  • Induction and Recursion
  • Modular Arithmetic
  • Programming Probabilities
  • Persistent File I/O
  • Program Performance/Efficiency
  • Error avoidance strategies
  • Personal Code Review
  • Team Code Review
  • Refactoring with Abstraction
  • Peer-review
  • Sets and Maps
  • Logic Gates

 
Course Addendum - Syllabus (Click to expand)