Computer Programming

Intro to Computer Programming
Pre-requisite: CP Geometry Enriched
Co-requisite: CP Geometry Honors
2 1/2 Credits - 1/2 year

Intro to CP is a foundational computer science course. No previous experience with computer science is required. Students with more experience will have opportunities to extend projects and to expand their knowledge.
Intro to CP emphasizes programming more than MLHS's AP CS Principles course. The focus is on getting students comfortable with foundational concepts while introducing students to the power of computer science. Students will spend a significant portion of class time programming collaboratively and individually. The course is presented using a combination of Java and Processing (a language based on Java).
Intro to CP topics include:

Representations of spaces and colors (ex: RGB color)
Programming tools (ex: the Processing IDE)
Variables, data types and mathematical operations
Boolean expressions and conditional statements

Students who take this course can progress to Computer Programming 2 the same year.
This course may fulfill the Practical Arts requirement. Students should speak with their Guidance Counselor.

Computer Programming 2
Prerequisite: Intro Comp. Prog.
Grade Level: 9-12
2 1/2 Credits - 1/2 year

Computer Programming II introduces students to Object-oriented programming concepts, teaches them the fundamentals of the Java language and syntax, introduces them to the major class libraries in Java, and prepares them to begin development of applications in Java. Students familiar with object-oriented concepts can learn how to develop Java applications. This course may fulfill the Practical Arts requirement. Students should speak with their Guidance Counselor.

Advanced Placement Computer Science A
Prerequisites: B- or above in Intro to Computer
Programming and Computer Programming 2
Grade Level: 10-12
Full Year - 5 Credits

AP Computer Science is an advanced course in computer programming and problem solving. Students will study standard computer algorithms, data structures, computer systems, and file types using the Java programming language. This fast-paced course follows the curriculum set up by the College Board for the AP Computer Science course. The topic outline for this course is as follows:

1. Program Design
2. Program Implementation
3. Program Analysis
4. Standard Data Structures
5. Standard Algorithms
6. Computer Systems

Although students will be using the Java programming language, programming skills are the focus of this course. All students enrolled in this course are expected to take one of the two levels of the AP Computer Science tests in the spring. Intro to Computers and Computer Programming 2 are prerequisites for Advanced Placement Computer Science. Students who successfully complete this course are expected to take the AP Computer Science exam.

Honors Advanced Data Structures 
Prerequisites: APCS A 
Grade Level: 11,12
Full Year - 5 Credits

Honors Advanced Data Structures is the continuation of AP Computer Science A. This course covers advanced data structures such as two dimensional arrays, Linked Lists, Sets, Maps, Stacks, Queues, Binary Trees, and hashing. Algorithms to traverse, insert, delete, search and sort using each of these data structures will be analyzed for average efficiency. Students will also work with case studies to gain experience with large programs comprised of several classes. AP Computer Science A is a prerequisite for Honors Advanced Data Structures.

Advanced Placement Computer Science Principles
Prerequisite: CP Geometry Enriched
Corequisite: CP Geometry Honors
Grade Level: 10-12
Full Year - 5 Credits

AP Computer Science Principles (CSP) introduces students to the central ideas of computer science. No previous experience with computer science is required. AP CSP emphasizes programming less than MLHS's Intro Computer Programming course. AP CSP focuses on 7 big ideas: Creativity, Abstraction, Data & Information, Algorithms, Programming The Internet and Global Impact.

AP CSP topics include:

What happens when you enter a URL in a web browser?
How does your phone store your text messages, pictures and videos?
How does computing impact your privacy?
How can you create apps?

Students taking AP CSP are expected to participate in the AP CSP Performance Tasks (during the course) and the AP CSP Exam.

AP CSP can be taken in any order relative to MLHS's other computer science courses. Students who take AP CSP as a first course can progress to Into to Computer Programming, or with approval, directly into AP Computer Science A