Python Data Structures

I.     Course Prefix/Number: CSC 242

       Course Name: Python Data Structures

       Credits: 3 (3 lecture; 1 lab)

II.    Prerequisite

CSC 157 with minimum grade of C.

III.   Course (Catalog) Description

A second course in computer programming that provides a survey of data structures. Content covers: utilization of object-oriented programming design techniques to implement large-scale problems; lists, trees, tables, queues, stacks, graphs and other classes using the Python language; elementary methods of program verification and complexity analysis applied to algorithms that manipulate dynamic and static data structures; sorting and searching algorithms; abstract data types; recursion.

IV.   Learning Objectives

  1. Use stream I/O: files and console for basic interaction within the program interface.
  2. Use object-oriented programming skills to design maintainable classes in separate class files and employ multiple file compilations.
  3. Design and develop simple class hierarchies with the use of abstract classes.
  4. Apply the concepts of encapsulation, polymorphism, inheritance, and method and operator overloading.
  5. Write expressions that use reference and static variables as data members and method arguments, and class methods for object assignment and copy constructors.
  6. Explain the concepts of information hiding, including the difference between public and private data members and methods.
  7. Explain separating program implementation from the programming interface.
  8. Analyze various algorithms for memory optimization, time complexity, and correctness in order to understand efficiency.
  9. Implement various sort and search algorithms throughout the various fundamental data structures studied.
  10. Apply recursive programming techniques when appropriate and contrast the iterative versions.
  11. Use dynamic and static memory to write data structures such as linked lists, stacks, queues, binary trees, and tables.
  12. Write and use basic functionality of data structures such as insert, remove and iterative schemes.

V.    Academic Integrity and Student Conduct

Students and employees at Oakton Community College are required to demonstrate academic integrity and follow Oakton's Code of Academic Conduct. This code prohibits:

• cheating,
• plagiarism (turning in work not written by you, or lacking proper citation),
• falsification and fabrication (lying or distorting the truth),
• helping others to cheat,
• unauthorized changes on official documents,
• pretending to be someone else or having someone else pretend to be you,
• making or accepting bribes, special favors, or threats, and
• any other behavior that violates academic integrity.

There are serious consequences to violations of the academic integrity policy. Oakton's policies and procedures provide students a fair hearing if a complaint is made against you. If you are found to have violated the policy, the minimum penalty is failure on the assignment and, a disciplinary record will be established and kept on file in the office of the Vice President for Student Affairs for a period of 3 years.

Please review the Code of Academic Conduct and the Code of Student Conduct, both located online at

VI.   Sequence of Topics

  1. Program Development
    1. Complexity analysis of efficiency
      1. Big-O notation
    2. Design strategies
      1. Modularity & recursion
      2. Object-oriented class relationships
        1. inheritance and encapsulation
        2. Python packages
        3. dynamic binding
    3. Program verification
  2. Abstract data design
    1. Lists
      1. stacks and queues
      2. variations
    2. Trees
      1. binary search trees
      2. tree traversals
    3. Queues
      1. priority queues/heaps
    4. Graphs
    5. Hashing
      1. hash tables
      2. hash maps
  3. Algorithms
    1. Sorting
      1. selection and insertion sorts
      2. merge, heap, and quick sorts
    2. Searching
      1. binary and sequential searches
      2. hash functions
      3. breadth and depth first searches



Lab # and
Contact Hrs.

Text Readings



3 hours

# 1
2 hours

Chapter 1: Classes, Objects, Applications

# 1


3 hours

# 2
2 hours

Chapter 2: Interfaces, Stacks: Array and Linked List-based implementations, Postfix Expressions

# 2


3 hours

# 3
2 hours

Chapter 3: Recursion



3 hours

2 hours

Chapter 4: Queues: Array and Link List-based implementations



3 hours

# 4
2 hours

Chapter 5: Collections: Bags



3 hours

# 5
2 hours

# 3


3 hours

# 6
2 hours

Chapter 6: Applications of Lists: Large Integers


8 - Exam

3 hours

2 hours

Exam 1: Chapters 1 through 6




3 hours

# 7
2 hours

Chapter 7: Binary Search Trees, Tree Traversals



3 hours

2 hours

Chapter 8: Maps/Dictionaries, Hash Tables

# 4


3 hours

# 8
2 hours

Chapter 9: Priority Queue/Heap



3 hours

# 9
2 hours

Chapter 10: Graphs, Depth-first and Depth-first traversals

# 5


3 hours

2 hours



3 hours

# 10
2 hours

Chapter 11: Sorting and Searching Algorithms


15 - Exam

3 hours

2 hours

Exam 2: Chapters 7 through 10



45 hours

30 hours



VII.  Methods of Instruction

Lectures, class discussion, individual and group projects, and use of a computer laboratory.
Course may be taught as face-to-face, hybrid or online course.

VIII. Course Practices Required

Reading of the text is required for understanding the material. Use of a computer laboratory is necessary to learn the design of software.

IX.   Instructional Materials

Note: Current textbook information for each course and section is available on Oakton's Schedule of Classes.

X.    Methods of Evaluating Student Progress

Quizzes, written homework, computer assignments, major examinations and a final examination will be used.

XI.   Other Course Information

If you have a documented learning, psychological, or physical disability you may be entitled to reasonable academic accommodations or services. To request accommodations or services, contact the Access and Disability Resource Center at the Des Plaines or Skokie campus. All students are expected to fulfill essential course requirements. The College will not waive any essential skill or requirement of a course or degree program.

Oakton Community College is committed to maintaining a campus environment emphasizing the dignity and worth of all members of the community, and complies with all federal and state Title IX requirements.

Resources and support for
  • pregnancy-related and parenting accommodations; and
  • victims of sexual misconduct
can be found at

Resources and support for LGBTQ+ students can be found at

Electronic video and/or audio recording is not permitted during class unless the student obtains written permission from the instructor. In cases where recordings are allowed, such content is restricted to personal use only. Any distribution of such recordings is strictly prohibited. Personal use is defined as use by an individual student for the purpose of studying or completing course assignments.

For students who have been approved for audio and/or video recording of lectures and other classroom activities as a reasonable accommodation by Oakton’s Access Disabilities Resource Center (ADRC), applicable federal law requires instructors to permit those recordings. Such recordings are also limited to personal use. Any distribution of such recordings is strictly prohibited.

Violation of this policy will result in disciplinary action through the Code of Student Conduct.