Advanced Computer Science

Send by email

The advanced course is similar in content to a first-year college-level computer science course. The focus is on data structures and algorithms: how to organize and manipulate information using a computer. Students implement and analyze alternative methods for structuring data, including arrays, linked lists, and binary trees. A variety of alternative algorithms for searching and sorting data are covered, including binary search, hash tables, mergesort, and quicksort. Students are taught standard notation for categorizing the expected efficiency of an algorithm. Object-oriented programming is stressed, and students are responsible for writing programs with multiple well-designed classes. The programming language Java is taught and used for all assignments. Students have the option of taking the Advanced Placement Computer Science Exam in May. Prerequisite: Introduction to Computer Science.

Units

Unit Essential Questions Content Skills and Processes Assessment Resources
Advanced Computer Science
  • What are fundamental algorithms and data structures?
  • How are alternative algorithms and data structures compared with each other?
  • syntax of the Java programming language
  • object oriented programming (classes, objects, inheritance)
  • Abstract Data Structures:
    • List
    • Set
    • Map
    • Stack
    • Queue
    • Priority Queue
  • Concrete Data Structures:
    • Arrays
    • Linked Lists
    • Hash Tables
    • Binary Search Trees
    • Heaps
  • Algorithms:
    • Search:
      • Linear Search
      • Binary Search
      • Hash Search
    • Sorting:
      • Selection Sort
      • Insertion Sort
      • Quicksort
      • Mergesort
  • Big-O notation for classifying asymptotic performance of an algorithm
  • Design, write, run, test, and debug a computer program in Java
  • Use classes, objects, methods, inheritance
  • Use Big-O notation to compare the scalability of different algorithms
  • Select the best data structure for a problem
  • Use class library documentation
  • programming assignments
  • tests and quizzes
  • (AP Exam)
  • Java Development Kit
  • DrJava