Computer Dept. Course Offerings 2008-9


Using software that (mostly) runs identically on Mac and Windows, our courses teach skills that are relevant to all kinds of computers (with Mac OSX giving us access to Unix/Linux programs). Classes meet twice a week for the entire year in classrooms with one computer per student.


COMPUTING 1 (The Department)
The basic information necessary to use computers for schoolwork, learned through creative independent projects. We emphasize the use of computers as aids to writing and research (typing, word processing, database, spreadsheet), programming, desktop publishing, web page design, animation, and telecommunication. Prerequisite: none.
COMPUTING 2 (The Department)
This course builds on the concepts and skills introduced in Computing 1, and is designed for those students who wish to create more advanced projects. The focus is on creative applications of the computer: multimedia and web page design with advanced graphics, programming, animation, desktop publishing, sound editing, desktop publishing, and video. Prerequisite: Any middle school computing course, HS Computing 1 or permission of the department chair.
MOTION GRAPHICS (Liz)
Motion Graphics, or animated graphic design, is the process of integrating drawings, photos, typography, digital video and audio to create visually innovative and dynamic graphics. While you will edit images, video and sound, emphasis will be placed on how you combine the pieces together over time to create your own short movies, digital stories, main title sequences or animations. By creating projects, managing footage, setting keyframes, working with alpha channels, applying effects, animating text, and experimenting while you design, you will gain a conceptual understanding of the role time and motion have on the presentation of your content. Prerequisite: None
DIGITAL GRAPHICS 1 (The Department)
An introduction to desktop publishing, graphics, and web page design, this course explores effective ways of combining text, color, space, images, and film clips. Topics include XHTML, advanced text editing (style sheets, tables, tab leader, leading), page layout of publications, computerized drawing and painting, and image editing. A broad examination of the computer as a design tool, this class gives students a chance to become familiar with a number of graphic arts programs and presents them with design concepts as a structured context for their own explorations. Assignments examine specific design principles or problems, and students are challenged to approach each project in an individual and personal way. Some projects may include: creating a font or alphabet, designing a personalized logo, drawing blueprints of our homes or classroom, developing a web-page-based game or movie. The class works with Photoshop, animated gifs, web page editors, and other design programs. Prerequisite: experience in word processing.
DIGITAL GRAPHICS 2 (The Department)
This class involves more techniques and formal graphic design assignments. Students develop a comprehensive foundation in design methods, drawing, typography, color theory, and conceptual skills. By building on a basic foundation of graphic design, graphic art history and digital techniques, students will also learn how to talk about work and to solve design challenges using Photoshop, InDesign, AfterEffects and Flash. The emphasis is on the presentation of projects—either printed or displayed in web pages. Prerequisite: Digital Graphics 1 or permission from instructor.
PROGRAMMING 1 (The Department)
Explore the science and art of computer programming. For students who want to create and modify their own computer software, this course uses the high-level programming languages Java (an internet-savvy version of C++) and Transcript (a multimedia descendent of Pascal) to introduce the basics of computer control. We use loops, variables, procedures, input, output, and branching decisions (with Boolean logic) to control graphics, sounds, and information.
PROGRAMMING 2 (The Department)
A continuation of Programming 1, for students who are becoming more confident in their ability to combine data types and complex computer routines. We use Java (an internet-savvy version of C++) to look more deeply at object-oriented programming: class definitions, inheritance, methods, fields, arrays, and collections. Large projects include writing an interactive, animated project with control windows and graphics. Prerequisite: Programming 1 or permission of the department chair.
PROGRAMMING 3 (The Department)
Once we get threads and buttons and class hierarchies under control, we can focus more on code that can work on large data sets: sorting random sequences, controlling pointers, and creating a phone directory with records that can be searched and saved to disk. The large projects require greater skill in breaking tasks into efficient sub-tasks that have clear purposes. Prerequisite: Programming 2 or permission of the department chair.
PROGRAMMING 4 (The Department)
For the student with a great deal of experience with classes and methods, this course demands advanced programming. Topics include sorting, searching, simulations, file input/output, doubly and circularly linked lists, stacks, queues, trees, hash tables, and recursion. Some projects are joint efforts; team members split writing and debugging tasks and we spend some time comparing the efficiencies of different algorithms. Prerequisite: Programming 3 or permission of the department chair.
WEB PAGE PROGRAMMING (The Department)
Learn about the fundamentals of web page programming, going “behind the scenes” with XHTML, Perl, JavaScript, forms, and databases. (Note: this is a class about programming rather than graphic design, and requires experience with variables, input/output, functions, “for” loops, and if/then statements.) Students create basic JavaScript objects, and use Perl and Java to write programs that automatically create linked and styled pages with tables and rollovers. Prerequisite: Programming 1 or permission of the department chair.
ALGORITHMS FOR GENETIC SEQUENCING (Mike)
For experienced programmers, this class introduces programs that analyze genetic sequences. There are numerous exercises in pattern-matching and string comparisons, calculating family trees based on DNA sequences while taking into account the basic operations of mutation, insertion, deletion, and transposition. Though we mostly use simplified models of DNA (without worrying about protein folding), this topic gives us a chance to study “design patterns,” data-structures and algorithms for large data sets, and basic molecular models. Prerequisite: Programming 2.
GAME PROGRAMMING (Liz)
Designing games presents unique challenges distinct from the design issues of other interactive media. In addition to the user interface, one must consider story, culture, modeling, and implementation. This course will explore developing usable and engaging games, human computer interaction, thematic structures, graphic design, sound effects, and game aesthetics. The course will operate in a workshop format and will take into account the history of non-digital and digital games, role-playing, puzzles, interactive fiction, and 3D modeling. Students will plan and create games both individually and collaboratively using a variety of languages, which may include ActionScript, Inform, Javascript, Lingo, Arduino and Python. The goal of the course is to allow students to explore the creative possibilities presented through the field of game design and to develop an appreciation for the beauty and logic of programming. Prerequisite: Some programming or permission of the instructor.
GRAPHICS PROGRAMMING (Roam)
We write programs that create 3D computer graphics (houses, robots, landscapes). Once we complete a brief introduction to matrix multiplication, we can start shading, rotating, and animating objects that we have designed. Our programs read and process text files that contain descriptions of 3D graphic objects and display the resulting 3D objects from arbitrary viewpoints. For advanced students, projects include the construction of race car and airplane games with first person and chase plane viewpoints. Prerequisite: Programming 2.
PHYSICAL COMPUTING (Liz)
Have you ever wanted to build an electronic instrument or an interactive art installation? Learn how to physically interact with a computer without using the mouse, keyboard and monitor interface. Move beyond the idea that a computer is a box or a system of information retrieval and processing. Using electronics basics and a microcontroller, a single-chip computer that can fit in your hand, write and execute interactive computer programs that convert movement into digital information. Through lab exercises and longer creative assignments learn how to program, prototype and use components effectively. Control motors and interpret sensors, as well as explore advanced concepts in interface, motion and display based on student interest. Prerequisite: permission from instructor.
Seminar: Space Colonies (Mike)
Could some of that limitless solar energy in outer space be safely beamed down to Earth, making us less hungry for oil and less reliant on gas-burning cars and coal-burning power plants? Couldn’t this be a boost for health, environment, prosperity, you name it, if it worked? Since the 1970s, some physicists have been suggesting that colonies floating in space could build huge solar collectors, using minerals from the moon, and using microwaves to send down cheap (?) energy.
This seminar asks whether space colonies are a possible, desirable investment in the future, and how they might realistically work. Issues include safety and health and life in space (artificial gravity, radiation), energy, cost, basic physics, and even political philosophy (Colonialization? Independence? Weapons in space?). We study “models” (simulations) of life support, ecosystems, financial investments, and world population vs. hunger vs. resource trends. The “Civilization IV” game, with its “manage a country” role playing, might give us a way to design a “civ in space scenario.” We read works by technology philanthropist Buckminster Fuller and works by Ray Kurzweil, who is forecasting a rapidly approaching technological “singularity” – an escalating collection of breakthroughs in everything from genomics to artificial intelligence, robotics, nanotechnology and energy. This is also a chance to participate in NASA’s annual space colony design contest for high school students.
See http://gargoyle.saintannsny.org for more information. No programming experience required.