OC11A
- Introduction to C Programming (Directed study with discussion:
3.33 units)
The
first course in this series introduces the fundamentals of C
Programming including basic syntax, data types, expressions, control
statements, and interaction between the compiler and the hardware.
The programming exercises are oriented towards learning how to
construct an efficient algorithm to solve a problem and include
computing the solutions of quadratic equations, finding prime or
perfect numbers in a given range, and processing words in a passage
of text.
OC11B
- Programming in C: Algorithms
and Techniques (Directed study with discussion: 3.33 units)
The
second course in the C Programming series introduces advanced topics
including arrays, functions, passing arrays to functions, sorting
algorithms, user-defined types, and recursion. The programming
exercises are oriented towards learning top-down design and
structured programming. At the end of the course there is a final
project that involves implementation of everything learned in the
course. Prerequisite: OC11A Introduction to C Programming
OC11C
- Advanced Topics in C (Directed study
with discussion: 3.34 units)
The
third course in C Programming introduces pointers, application of
pointers to function arguments and arrays, files, linked list, and
trees. The course focuses on implementing data structures—the key
organizing factor to formalize design methods and programming
languages. Prerequisite: OC11B Programming in C: Algorithms and Techniques
C015
- Introduction to Java (Directed study with
discussion: 5 units)
This course introduces students to the concept of object-oriented programming. Topics: basic and advanced features of Java as well as object-oriented design, designing and building applications such as web applets. Prerequisite: a course in C or C++ or consent of instructor
OCS01 - AP Computer Science (Seminar: 10 units)
Students explore Core topics in the context of the Java programming language. Topics include: object-oriented programming, fundamental data structures (such as lists, queues, stacks, trees, and heaps) and algorithms (especially those for sorting and searching). The relationship between computer hardware and a compiled program is studied. Much of the course is project-based, with assignments stressing the design of classes and algorithms appropriate to a problem. This course prepares students to take the AB-level Computer Science AP exam. Prerequisite: OC015 or consent of instructor |