Computer Science

Advanced Topics: Advanced Algorithms and Data Structures, Computer Architecture, Embedded Systems, Programming Languages, Computer Graphics, Network Programming, Telecommunications    

  Programming helps entry-level computer science students develop their computational thinking skills by applying the basic steps in algorithmic problem-solving and abstraction. Students apply software design techniques to strategize and communicate solutions and then develop a program that embodies their solution. Students learn to use techniques such as abstraction and recursion to break complex problems down into smaller, more manageable sub-problems. Students will explore virtual worlds with robots and creatures of their own design while learning basic programming and algorithmic thinking skills. Using Just BASIC, a free and simple programming language, students will learn how to create and work with graphical user interfaces, controls, variables, arrays, conditional logic, and loops. This course is designed for students who intend to pursue AP Computer Science and may not yet be prepared for the faster pace of Advanced Programming.

  Advanced Programming helps students develop their computational thinking skills by applying the basic steps in algorithmic problem solving and abstraction. Students are exposed to software design techniques. They turn their designs into code, which they test and refine until they clearly demonstrate algorithmic solution to problems. Beyond the acquisition of basic programming skills – variable, control statements and loops – students learn how to program with objects, use primary elementary data structures, and solve selected problems using recursion. Advanced Programming is a fast-paced course that covers more material at a greater depth than Programming and is designed for the students who intends to pursue Advanced Placement Computer Science with Data Structures.

  C++ Programming – C++ is one of the world’s most popular programming languages. It is used for diverse applications graphics, artificial intelligence, robotics, and operating systems. It is often the first language introduced to young adults at school or college. This course introduces the student to object-oriented programming through a study of the concepts of program specification and design, algorithm development, and coding and testing using a modern software development environment. Students learn how to write programs in an object-oriented high level programming language. Topics covered include fundamentals of algorithms, flowcharts, problem-solving, programming concepts, classes and methods, control structures, arrays, and strings. Throughout the semester, problem-solving skills will be stressed and applied to solving computing problems. Weekly laboratory experiments will provide hands-on experience in topics covered in this course.

  AP Computer Science – Students wishing to prepare for the AP Computer Science examination should complete this course. The curriculum of AP Computer Science currently uses the Java programming language and is based on the syllabus developed by the College Board. Equivalent to a first semester college computer science course, APCS is an introduction to the study of algorithm analysis, standard data structures, and object-oriented programming design. Using the modern programming language chosen by the College Board, students complete a series of programming projects designed to reinforce the theory learned. Emphasis is placed on good software engineering practices, including problem specification, design techniques, documentation and testing. Students will practice their programming skill through the College-Board-specified case study which requires the modification of a large software project. It is intended to serve both as an introductory course for computer science majors and for students who will major in disciplines that require significant involvement with computing.