Oct 23, 2026  
2026-2027 Academic Catalog 
    
2026-2027 Academic Catalog
Add to Portfolio (opens a new window)

CSCI 1107 - Fundamentals of Computer Science II


Credits: 4

Catalog Description
This course is a continuation of CSCI 1106 . Object-oriented problem solving and programming techniques, and basic algorithmic analysis techniques are introduced. Elementary data structures such as lists, stacks, queues, trees, and graphs are introduced. Software engineering principles are explored using an object-oriented language.

Prerequisite(s) (must have a grade of C or better): CSCI 1106  
Additional fee to student: No

Learner Outcomes
  1. Implement recursive and iterative algorithms over appropriate data structures (e.g., tree traversal, pre-order, and post-order).
  2. Analyze recursive and iterative algorithms for space-time complexity.
  3. Identify appropriate use of and implement statically allocated data structures.
  4. Identify appropriate use of and implement dynamically allocated data structures.
  5. Develop and implement a dictionary data type incorporating hashing algorithms and collision avoidance.
  6. Write programs that use each of the following data structures: arrays, records/structs, strings, linked lists, stacks, and queues.
  7. Implement algorithms and underlying data structures utilizing standard object-oriented design principles.

Major Areas of Course Content
  1. Object-oriented programming: encapsulation, polymorphism (including dynamic binding), inheritance
  2. Abstract data types
  3. Static allocation vs. dynamic allocation of memory
  4. Linked lists: static implementation, dynamic implementations, and doubly linked
  5. Stacks: static and dynamic implementation
  6. Queues: static and dynamic implementation, circular, and priority
  7. Generic Objects
  8. Recursion
  9. Algorithm analysis
  10. Sorting: quick sort, merge sort, heap sort, shell sort, and radix sort
  11. Hashing with collision strategies
  12. Trees
  13. Graph theory
  14. Traversals
  15. Heaps

Credit for Prior Learning Options
Course-Specific Exam

Credit for Prior Learning Option Procedure(s)
This is a 2-step process: a. A comprehensive examination will be administered; b. A programming project will be assigned that is commensurate with the level of expertise of an average student who has completed the course.



Add to Portfolio (opens a new window)