AP Computer Science - Overview and Objectives.

The basic skills covered in this course give students a strong background in the fundamental concepts of structured and object-oriented programming. Students are engaged in formal, in- depth study of topics including abstraction, design, data structures, and algorithms. The material covered is equivalent to that of a first-semester introductory computer science course found in most university programs. In the second semester following the completion of the primary text and case study, students will participate in a team-based software development project with the support and guidance of a prominent Orange County web development company. Students will put the skills that they have learned in class to use in a production environment, dealing with real-world issues and seeing their work “go live” as part of a finished product. In addition to earning valuable working experience, students also go forth with an enhanced resume and networking opportunities. Finally, this course prepares students for the Advanced Placement (AP) Computer Science A exam, offered at the end of the second semester of each academic year.

 

Data Structures and Algorithms - Overview and Objectives.

Expanding on the basic knowledge of software design introduced in AP Computer Science, this course helps students develop an understanding of the principles of software engineering as well as acquire a variety of programming skills in more complex data structures and the design and analysis of algorithms. It is largely project-based and involves leading a software development project (introduction to Software Engineering) as a team-leader for the introductory class. It is currently offered as an independent study course for students who have completed the AP Computer Science curriculum (or equivalent).

 

Personal Philosophy.

Computer Science encompasses not only programming but calls upon students to think about the “big picture” in solving problems using software. I hope to impart on my students the ability to make use of their computing skills to address challenges in many diverse disciplines from the physical sciences to music, as well as discover new avenues of communication and teamwork. My classes are not structured in a lecture format in the traditional academic sense. Students are engaged in discussion at every step, and are asked to describe the concepts learned in their own terms. I actively encourage students to come up with creative solutions to programming problems that may not be present in the text, and am interested in discovering answers for the challenges put forth by the many ways that different people learn.

 

Prerequisites.

Students that wish to take AP Computer Science or Data Structures and Algorithms will need to have earned a grade of “B” or higher in the qualifying prerequisite course and/or demonstrate equivalent knowledge by qualifying exam, and/or instructor permission.
.