CODING FOR ALLThis is a project-based course that is designed to introduce students to the study of computer science. Students will learn a high level programming language through a variety of computer science applications such as animation, games, and text analysis. Students will learn modular design in Python and apply various programming techniques in project design. Students will satisfy one semester of the two semester sophomore graduation requirement and be eligible for Computer Science Research and/or AP Computer Science for their junior year. This course alternates with a one semester sophomore writing course.
|
APP DEVELOPMENTStudents will create programs written in Java to run on the Android Operating System. Topics covered in the course will include fundamental concepts in Android programming and designing user interfaces. Students will work both terms to create fully functional Apps that can be used on Android phones or tablets.
Prerequisite: Advanced Placement Computer Science course (MKS21X). |
GAME PROGRAMMINGStudents will apply their knowledge of Computer Science concepts to game design and programming. The concepts that will be discussed include artificial intelligence, collision detection, matrices, high-level event handling, game state management. Cohesive storyline development will also be discussed. Student will utilize concepts covered to develop a game for a major gaming console by the end of the course.
Prerequisite: Advanced Placement Computer Science course (MKS21X). |
C++ PROGRAMMING WITH APPLICATIONS IN FINANCERecommended co-requisite: AP-Computer Science-A
C++ is arguably the most important of the programming languages given its run time efficiency, access to hardware level functionality and the profligacy of well optimized libraries. C++ is the language of choice in any real time environment and therefore has huge applications in the Wall Street banks besides other enterprise applications. C++ provides a distinct competitive advantage to participants in coding competitions like the USA computing competition. Knowledge of C++ will boost the prospects of anyone serious about pursuing a career in engineering or computer science. This course provides in-depth coverage of object-oriented programming principles and techniques using C++. Topics include classes, overloading, data abstraction, information hiding, encapsulation, inheritance, polymorphism, file processing, templates, exceptions, container classes, and low-level language features like pointers. Additionally this course also teaches students about symbolic computing in Mathematica. Mathematica can generate code in C which can be embedded in C++ applications. Students will gain practical skills in problem solving as well as preparation for the USA Computing Olympiad. As capstone project, students will learn how to write real life applications for the financial industry. These projects will include trading simulations, and financial derivative pricing. |
ALGORITHMSAlgorithms is for students with an interest in theoretical computer science. There will be a heavy emphasis on proof, as students will analyze the effectiveness and efficiency of the algorithms presented and the algorithms created. In this course we will study fundamental algorithms for solving a variety of problems, including sorting, searching and graph algorithms. More importantly, we will focus on general design and analysis techniques that underlie these algorithms. Students will also learn to implement data structures, which help us to organize large amounts of information, and develop the algorithms necessary to build and maintain them.
Students will gain practical skills in problem solving and project management, as well as preparation for the USA Computing Olympiad. Python will be used to illustrate and compare the various algorithms. |