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.

Software Design & Development

Building large software systems introduces new challenges to software development. Appropriate design decisions and programming methodology can make a major difference in developing software that is correct and maintainable. In this course, students will learn techniques and tools that are used to build correct and maintainable software, improving their skills in designing, writing, debugging, and testing software. Topics include object-oriented design, testing, design patterns, software architecture, and designing concurrent and fault tolerant systems. This course is programming intensive.

Beginning Ballet

Students will study the basic movements and fundamentals of classical ballet. The movements are taught in a pure form, at a relaxed pace before proceeding to more complex combinations. Ballet I sets the groundwork for the movements and musicality of the ballet lesson.

Data Structures (in Python)

This course builds on the basic programming concepts learned in Computer Science 150 and Computer Science 121, shifting the focus to the organization of data in order to improve efficiency and simplicity of programs. Topics include the study of abstract data types and data structures (such as linked lists, stacks, queues, and binary trees). This course is programming-intensive.

Data Structures (in Python)

This course builds on the basic programming concepts learned in Computer Science 150 and Computer Science 121, shifting the focus to the organization of data in order to improve efficiency and simplicity of programs. Topics include the study of abstract data types and data structures (such as linked lists, stacks, queues, and binary trees). This course is programming-intensive.
Subscribe to