Tpc: Urban Sustainability

'This course explores ways in which urban landscapes can be shaped within an environmentalist agenda and how healthy living can be achieved in the context of rising population, climate change, and global economies. By developing methods of investigation pertinent to sustainability, students will formulate strategic planning and design proposals related to community revitalization, the public realm in cities, affordable housing, and environmental stewardship.

Intro Arch Design II: Environ

'This hybrid studio addresses human comfort with lectures and problem work sessions integrated with design projects. We start with an in-depth study of the world's climate regions, the sun, and the earth's tilt and spin. Primary methods of heat transfer are investigated as students research two architectural solutions (vernacular and contemporary) within each climate. Using daylight, the sun's movement, and sun-path diagrams students will design, draw and build a functioning solar clock. Issues in day-lighting and thermal comfort will then drive an extended design problem.

Topic: User Interfaces

'This course provides an introduction to contemporary user interfaces, including the basics of human-computer interaction, the user interface design/evaluation process, and the architectures with which user interfaces are developed. In this course students will learn the principles of constructing user interfaces, based on issues of design and usability and based on the mathematics of 2D graphics. Students will implement and evaluate portions of typical user interfaces in a series of programming assignments. This course is programming intensive.'

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.

Theory of Computation

'Are there any limits to what computers can do? Does the answer to this question depend on whether you use a PC or a Mac? Is C more powerful than PASCAL? This seminar explores these questions by investigating several models of computation, illustrating the power and limitations of each of these models, and relating them to computational problems and applications. Topics include finite state automata, pushdown automata, grammars, Turing machines, the Universal Turing Machine, and computability.'

Data Structures

Using Java. Solving problems with computers is accomplished by writing programs that operate on data to produce a desired result. The way data is organized and presented to the program can significantly affect its efficiency and simplicity and can sometimes determine whether or not a program can be written to solve the problem at all. This course presents ways of organizing data into 'data structures' and analyzes how structuring the data can improve program performance.This course is programming intensive.

Adv Object-Orientd Programming

'This course builds on the basic programming concepts learned in Computer Science 101. Emphasis is on developing the skills needed to write more sophisticated programs. This includes strategies to aid in assuring the correctness of programs through the use of assertions and unit testing as well as advanced Java features such as inheritance, polymorphism, and network programming. We will also introduce some widely used data structures such as vectors and linked lists. This course is programming-intensive.'
Subscribe to