Public Choice

The state plays a large role in the economy, employing a substantial fraction of the labor force, producing and consuming a wide variety of goods and services, building infrastructure, taxing economic activity, enforcing contracts, redistributing wealth, regulating industries, and so on. Therefore, the allocation of society’s resources - the subject matter of economics - depends crucially on how political decisions are made.

Econ and Psychology

This course introduces the field of behavioral economics, which incorporates insights from psychology into economics with the aim of improving human welfare. Behavioral economics studies how individuals actually make decisions, which may deviate from the way "rational actors" are modeled in terms of making decisions in classical economics. Motivated by non-fiction readings and academic articles, we will use behavioral economic frameworks to characterize this actual decision-making and to explore its consequences for markets and for policy.

Sem: Evolutionary Comp

Evolutionary computation techniques harness the mechanisms of biological evolution, including mutation, recombination, and selection, to build software systems that solve difficult problems or shed light on the nature of evolutionary processes. In this course students will explore several evolutionary computation techniques and apply them to problems of their choosing. The technique of genetic programming, in which populations of executable programs evolve through natural selection, will be emphasized.

Computer Security

There is an ongoing arms race between hackers and defenders in the cyber world. This course introduces concepts of computer security including exploitation, diagnosis, and protection. Topics will range from program exploits like buffer overflow attacks and privilege escalation to analysis of recent real-world attacks to discussions about the ethics of hacking. We will also cover security protocols such as those for authentication (proving that you are who you say you are), password checking, and cryptography.

Network Science

Many phenomena can be represented as networks of interactions between different components. Network science is the discipline at the intersection of computer science, statistics, and physics that studies the structure, formation, evolution, and behavior of such networks, with the goal of understanding the phenomena they represent.

Networks

Computing networks are ubiquitous and used for a broad range of purposes. Networks are often complex and dynamic, connecting systems with a range of capabilities. Some computers are permanently connected while others (e.g., mobile devices) routinely leave and rejoin the network. In any case, the network must ensure that data are delivered quickly and reliably from one computer to another. This course will begin with the problem of communicating between two computers, followed by the problems of building generalized networks for different types and varying numbers of computing devices.

Program Lang Paradigms

The main purpose of a programming language is to provide a natural way to express algorithms and computational structures. The meaning of “natural” here is controversial and has produced several distinct language paradigms. Furthermore, the languages themselves have shaped our understanding of the nature of computation and of human thought processes. We will explore some of these paradigms and discuss the major ideas underlying language design. Several languages will be introduced to illustrate ideas developed in the course.

Subscribe to