Computer Science

Send by email

Electives

Introduction to Computer Science

This class focuses on designing and writing computer programs. No prior experience with computer programming is assumed. Students are taught to analyze a problem, describe a solution, and implement their solution in a computer-programming language. Currently, the class uses the Python programming language. Students use functions and classes to organize their programs.  Programming projects include graphics (2D and 3D) in addition to data processing. Throughout the course, the emphasis is on the careful, elegant design of a computer program. Before taking the course, students are expected to be comfortable using a computer and to be familiar with variables from algebra.

Advanced Computer Science (honors level)

The advanced course is similar in content to a first-year college-level computer science course. The focus is on data structures and algorithms: how to organize and manipulate information using a computer. Students implement and analyze alternative methods for structuring data, including arrays, linked lists, and binary trees. A variety of alternative algorithms for searching and sorting data are covered, including binary search, hash tables, mergesort, and quicksort. Students are taught standard notation for categorizing the expected efficiency of an algorithm. Object-oriented programming is stressed, and students are responsible for writing programs with multiple well-designed classes. The programming language Java is taught and used for all assignments. Students have the option of taking the Advanced Placement Computer Science Exam in May. Prerequisite: Introduction to Computer Science.

Advanced Topics in Computer Science (honors level)

The Advanced Topics course exposes students to several of the subfields of computer science that a student would encounter as a college major in the field. Assignments are more open-ended and require a greater degree of initiative from the students. The topics covered vary somewhat from year to year, in response to student and teacher interest. Examples of typical topics include digital-logic circuits (including basic logic gates, designing combinatorial and sequential circuits, and basic computer architecture), three-dimensional computer graphics (including mathematical fundamentals, transformations, perspective, and rendering techniques), networking (TCP/IP concepts and socket programming), and artificial intelligence (philosophy, logic, search, heuristics, and neural networks). Student projects include designing and building a simple programmable computer on breadboards and implementing a 3D renderer without using a 3D library.

 

Global Online Academy

Computer Programming 1: JAVA (Yearlong)

This course teaches students how to write programs in the Java programming language. Students will develop problem solving and computational thinking skills framed by the questions: How do computers store information? How do they make intelligent decisions? How can they efficiently process large tasks? Students will learn the major syntactical elements of the Java language though objected oriented design. The emphasis in the course will be on creating intelligent systems though the fundamentals of Computer Science. Students will write working programs through short lab assignments and more extended projects that incorporate graphics and animation. No previous computer programming knowledge is necessary

Computer Programming 2: Analyzing Data with Python (Spring 2015)

In this course, students will utilize the Python programming language to read, manipulate and analyze data. The course emphasizes using real world datasets, which are often large, messy, and inconsistent. The prerequisite for this course is familiarity with and hands-on experience using some high-order programming language, such as Java, C++, VisualBasic, or Python itself. Because of the powerful data structures and clear syntax of Python, it is one of the most widely used programming languages in scientific computing. There are a multitude of practical applications of Python in fields like biology, engineering, and statistics.

iOS App Development (Spring 2015)

Learn how to build apps for the iPod, iPhone, and iPad and publish them in the App Store. Students will work much like a small startup: collaborating as a team, sharing code, and learning to communicate with each other throughout the course. Students will learn the valuable skills of creativity, collaboration, and communication as they create something incredibly cool, challenging, and worthwhile. Note: For this course, it is required that students have access to a computer running the most current version of Mac OS X. An iOS device that can run apps (iPod Touch, iPhone, or iPad) is also highly recommended.