Computer Science 2 S&S

At the conclusion of last school year, I had a curve-ball thrown at me concerning my plans to offer AP Computer Science 2 based upon an adopted AP syllabus when I requested the course authorization. This course would align with the AP Computer Science – A Exam. In addition, the course would count as a Language Other Than English (LOTE) credit for our students.

Well, the State of Texas had other plans on that. According to TEA, Computer Science 2 can count as an AP credit OR a LOTE credit, but NOT both.

As we already have HB-5 students in progress that need CS2 as their second LOTE credit, we have elected to drop the AP designation. However, I am still modeling the course after the AP CS2 curriculum from the adopted syllabus, which will allow the students to be prepared to take the AP Computer Science – A Exam at the conclusion of the year, if they would like.

Here is what I am planning to cover in CS2 this year:

  • Weeks 1 – 2
    • Computer Systems
      • Numerical Representations, Limitations of Finite Representations, Number Bases & Conversions, Hardware, and Programming Languages
  • Weeks 3 – 4
    • Objects & Primitive Data
      • Simple Data Types (int, Boolean, double, char), Variable & Constant Declarations, Assignment & Arithmetic Expressions, Console Output, Primitives vs. Objects, Create Objects with Classes, References, JAVA Library Classes (String, Integer, Double, Math, & Scanner), and Random Numbers
  • Weeks 5 – 6
    • Conditional Programming Statements
      • Software Development Process, Control Flow, Boolean Expressions, Laws, Truth Tables, and Conditional Expressions
  • Weeks 7 – 9
    • Iterative Statements
      • Flow of Control, While, For, Infinite, and Nested Loops, and Algorithm Analysis (Running Time and Execution Counts)
  • Weeks 10 – 12
    • Writing Classes
      • Anatomy of Classes (Constructors & Methods, Declarations of Class, Interface, Instance, variable, Method and Parameter), Method Overloading, Method Decomposition, Object Relationships, Pre & Post Conditions, and Data Abstraction & Encapsulation
  • Weeks 13 – 15
    • Enhancing Classes
      • References, Exceptions, Class Design, == vs equals, Object Parameter Passing, Error Handling, Interfaces & Abstract Classes, JAVA Library Classes (Comparable & List Interfaces) and Identifications of Reusable Components from Existing Code Using Classes and Class Libraries
  • Weeks 16
    • Fall Semester Exam Review
  • Week 17
    • Fall Semester Exam
    • Week 18 – 21
      • 1D/2D Arrays & Searching
        • 1-Dimensional & 2-Dimensional Arrays (Creation, Insertions, Deletions, Transversals, & Algorithms), Searching Algorithms & Comparison (Sequential & Binary), and Choosing Appropriate Data Representation & Algorithms
    • Weeks 22 – 24
      • Lists, Array Lists, Selection & Insertion Sorts
        • Lists & Array Lists (Creation, Insertions, Deletions, Transversals, & Algorithms), Sorting Algorithms & Comparison (Selection & Insertions, and Choosing Appropriate Data Representation & Algorithms
    • Weeks 25 – 27
      • Inheritance
        • Inheritance (Subclass, Overriding, Hierarchies, Using Class Members, Polymorphism, & Class Hierarchy Design), Interfaces & Abstract Classes, JAVA Library Classes (Object), Reading & Understanding Class Specifications (is-a vs. has-a), Understanding & Implementing a Given Class Hierarchy, Extending a Given Class with Inheritance, and Applying Functional Decomposition.
    • Weeks 28 – 30
      • Recursion / Merge & QuickSorts
        • Recursive (Thinking, Programming, & Sorting), Flow of Recursive Control, Sorting Algorithms (Merge & Quick), and Comparison With Other Sort Options
    • Weeks 31 – 33
      • AP Practice Exam and Computer Ethics
        • Responsible Use of Computer Systems (Reliability, Privacy, Intellectual Property, Legal Issues, & Social/Ethical Ramifications of Computer Use), and AP Practice Exam
    • Week 34
      • AP Computer Science – A Exam
    • Weeks 35 – 36
      • RoboCode
        • Cooperative Programming, Research, Reading Code, and Comparing Strategies & Algorithms

Leave a Reply

Your email address will not be published. Required fields are marked *