Elementary German

Continuation of the elementary German course; practice in speaking, reading, and writing German. Cultural and literary readings together with frequent use of online resources dealing with everyday situations and experiences in the German-speaking countries sensitize students to the cultural context in which the language is used. Weekly conversation sessions with a German language assistant supplement class work.

Intermediate Hip Hop

Journey through time and experience the evolution of hip-hop from its old-school social dance roots to the contemporary phenomenon of commercial choreography that hip-hop has become. Using film and text in addition to studio work, this class will create a framework from which to understand and participate in the global culture of hip-hop dance.

Intermediate Ballet

Continues to perfect the classical ballet technique, concentrating on small and big poses at the barre, pirouettes and adagio work in the big poses in the center, and jumps in the small and big poses in the allegro section of the class. More complex grand allegro will be presented.

West African Dance

The objectives of the course are for students to understand the profound influence African dance has had on American dance forms, to understand the significance of dance in African culture, and to understand the connection between drummer and dancer and to appreciate and respect a culture that is different yet similar in many ways to American culture.

Programming Lang. Design/Impl

Ever wonder why there are so many semicolons in Java programs, or what it would mean for a language to not be object-oriented? In this course, we will explore issues related to the design and implementation of programming languages. Along the way, we will discover answers to these questions and more. Topics will include syntax, semantics, runtime support for languages as well as an introduction to functional programming.

Intro Netwrk. Arch.&Protocols

This course is an introduction to computer networking with a focus on the Internet. At the high level, we will emphasize concepts and principles which have contributed to the Internet's success scaling from its modest beginnings to a system used by over half of the world's population. At the low level, we will survey techniques, technologies and protocols that underlie networks, as well as key protocols built atop these networks. Specific topics include layering, routing, addressing, reliable delivery, congestion control, DNS, HTTP, and others.

Operating Systems

An introduction to the issues involved in orchestrating the use of computer resources. Topics include operating system evolution, file-handling systems, memory management, virtual memory, resource scheduling, multiprogramming, deadlocks, concurrent processes, protection, and design principles. Course emphasis: understanding the effects of operating system design on computer system performance. This course is programming intensive.

Renaissance/Baroque Dance II

Continuation of Renaissance and Baroque Dance I. Sixteenth- through eighteenth-century European social dance, contemporary with the eras of Elizabeth I and Shakespeare in England, the Medicis in Italy, Louis XIV in France, and colonial America. The focus will be on learning the dances, supplemented by historical and social background, discussion of the original dance sources, and reconstruction techniques.

Developing Innovative Software

Tired of writing programs that nobody ever uses? Then, this is the course for you. Many people come up with novel ideas for software, but lack the resources or ability to develop the software. Students will apply their programming skills to develop and deliver software based on the requirements of a client. Students will learn critical communication skills required to work with a client, work in teams with classmates, and experience the software lifecycle from requirements elicitation through delivery.

Algorithms

How does Mapquest find the best route between two locations? How do computers help to decode the human genome? At the heart of these and other complex computer applications are nontrivial algorithms. While algorithms must be specialized to an application, there are some standard ways of approaching algorithmic problems that tend to be useful in many applications. Among other topics, we will explore graph algorithms, greedy algorithms, divide-and-conquer, dynamic programming, and network flow.
Subscribe to