Foundations of Programming

From RealCTY
Jump to: navigation, search
Foundations of Programming
Computer Science Course
Course CodeCMPS
Year Opened1996
Sites OfferedATN, BRI, HAV
Previously OfferedBTH, CAL, CHS, EST, FRD, FRS, KNE
Part of a series on
Realcty logo 20060831.png
CTY Courses
Category · Template · Baby CTY
Sites
Allentown · Bristol · Haverford · Hong Kong · Santa Cruz · Seattle
Humanities
Foundations of Psychology
Bioethics · Great Cases: American Legal History
Introduction to Logic · Philosophy
The Roots and Power of Language
Writing
Whodunit?: Mystery and Suspense in Literature and Film
Crafting the Essay
The Graphic Novel
Math
Combinatorics and Graph Theory · Geometry through Art
Paradoxes and Infinities · Mathematical Modeling
Computer Science
Foundations of Programming
Economics
The Mathematics of Money · Game Theory and Economics
Science
Zoology · Principles of Engineering Design
Biotechnology · Chemistry in Society
Introduction to Astronomy
Anatomy and Physiology
The Physics of Sports
Whales and Estuary Systems · The Chesapeake Bay
Defunct Courses
Colonial Life · Beyond America
Civil War and Reconstruction · US Environmental History
Victorian Women · America in the Cold War
The Making of California · The Civil Rights Movement
Politics of Place · Eastern Philosophy
Drama · Writing and Reading Seminar
Public Speaking and Communication · Poetry
Writing the History Paper · Writing American Autobiography
The Short Story · Drama 2: From Stage to Screen
Shakespeare in Performance · Math and Music
Math Workshop · Mathematical Investigations
Math and Art · Algebra and its Applications
Geometry and its Applications · Probability and Statistics
Chaos and Fractals · Introduction to Geology
Exercise Physiology · Environmental Engineering
Nuclear Science · The Critical Essay: Cinema
Medical Sciences: Pharmacology & Toxicology · The Modern City
Writing About Place: The Monterey Bay

Course Description

From the CTY Summer Catalog:

Students in this course gain insight into methods of computer programming and explore the algorithmic aspects of computer science. They learn the theoretical constructs common to all high-level programming languages by studying the syntax and basic commands of a particular programming language such as Java, C, C++, or Python*. Building on this knowledge, students move on to study additional concepts of programming, such as object-oriented programming or graphical user interfaces. By solving a variety of challenging problems, students learn to start with a concept and work through the steps of writing a program: defining the problem and its desired solution, outlining an approach, encoding the algorithm, and debugging the code.

Through a combination of individual and group work, students complete supplemental problems, lab exercises, and various programming projects in order to reinforce concepts learned in class. By the end of the course, students can develop more complex programs and are familiar with some of the standards of software development practiced in the professional world. Students leave with an understanding of how to apply the techniques learned to other high-level programming languages.