Jan 15, 2025  
2024-25 Catalog 
    
2024-25 Catalog
Add to Portfolio (opens a new window)

CSCI 152 - Data Structures with C++ and .NET

5 Credits
Discussion of strings; records; stacks; linked lists; queues; trees; graphs classes; templates and other data structures; file organization and manipulation; sorting; searching; program verification and algorithmic analysis; implementation of data structures in a structured, high-level programming language using top-down design, data abstraction and encapsulation. Based on ACM (Association for Computing Machinery) curriculum guidelines for Computer Science II.

Pre-requisite(s) C SCI 151 with min. 2.0
FeesCF

Quarters Typically Offered
Spring Online

Designed to Serve For the computer science transfer student or the advanced student in data processing.
Active Date 20210403T10:07:57

Grading Basis Decimal Grade
Class Limit 30
Contact Hours: Lecture 55
Total Contact Hours 55
Degree Distributions:
AA
  • Science

Course Outline
  • Programming Techniques
    • Top-down design
      • processing
      • data structures
        • application-level
        • logical level
        • implementation level
    • Object orientation
      • data abstraction
      • information hiding
    • C. Debugging - testing
      • top-down with stub
      • bottom-up with drives
      • brute force path
  • II. Derived Types
    • Structures
    • Unions
    • Classes
    • Class templates
  • III. Stacks
    • Logical level
      • structure
      • operations
    • Stack operations
      • push/pop
      • tests for full/empty
      • initialize
    • Implementations
      • array
      • record
    • Application
      • infix expression translation
      • postfix/prefix expression evaluation
      • Recursion
        • subprogram linkage
        • local variable storage
        • iterative solutions to recursive problems
  • Queues
    • Logical properties
    • Implementations
    • Operations
      • tests for full/empty queues
      • enque
      • deque
  • Linked Lists
    • Logical properties
      • node structure
        • singly/doubly-linked
        • circularly linked
        • header/trailer nodes
      • serial access
      • external pointer
    • Operations
      • addition, deletion of elements
      • searching, insertion of elements
      • creation, freeing of notes
    • Implementations
      • as arrays
      • dynamically allocated
    • Applications
      • sorted lists
      • spare matrices
      • implementations of stacks, queues
  • Tree
    • Node structure
      • binary trees
      • non-binary
      • non-linked representations
      • graphs
      • heaps
    • Tree operations
      • insertion, deletion
      • traversals
      • balancing
    • Applications
      • searching
      • sorting
      • expression representation
  • The efficiency of Algorithms
    • Searching
    • Sorting


Student Learning Outcomes
The student will demonstrate the principles of top-down design, data abstraction and information hiding in their program design and implementation.

The student will be create programs with the properties and implementations of basic data structures (strings, records, linked lists, queues, trees, heaps, graphs, stacks).

The student will analyze algorithms for efficiency using Big “O” notation.

The student will demonstrate the basic aspects of recursion, internal searching and sorting within their programs produced.

The student will design, code, debug, and test programs of moderate (500-1000 lines) complexity.



Add to Portfolio (opens a new window)