Machine Learning
Statistical Machine Learning (Spring 2018)
Introduction to Machine Learning (Fall 2016)
Statistics
Modern Regression (Fall 2017)
Probability Theory and Random Processes (Spring 2017)
Statistical Reasoning and Practice (Spring 2017)
Applied Econometrics I (Spring 2017)
Applied Econometrics II (Spring 2017)
Computer Science
Algorithm Design and Analysis (Fall 2014)
Introduction to Computer Systems (ICS) (Summer 2014)
Parallel and Sequential Data Structures and Algorithms (Spring 2014)
Functional Programming (Spring 2014)
Principles of Imperative Computation (Spring 2014)
Principles of Computing (Fall 2014)
Math
Matrices and Linear Transformation (Fall 2017)
Set Theory (Spring 2015)
Concepts of Mathematics (Spring 2014)
Statistical Machine Learning (Spring 2018)
Introduction to Machine Learning (Fall 2016)
Statistics
Modern Regression (Fall 2017)
Probability Theory and Random Processes (Spring 2017)
Statistical Reasoning and Practice (Spring 2017)
Applied Econometrics I (Spring 2017)
Applied Econometrics II (Spring 2017)
Computer Science
Algorithm Design and Analysis (Fall 2014)
Introduction to Computer Systems (ICS) (Summer 2014)
Parallel and Sequential Data Structures and Algorithms (Spring 2014)
Functional Programming (Spring 2014)
Principles of Imperative Computation (Spring 2014)
Principles of Computing (Fall 2014)
Math
Matrices and Linear Transformation (Fall 2017)
Set Theory (Spring 2015)
Concepts of Mathematics (Spring 2014)
2018 spring
Statistical Machine Learning (10-702)
Description (the webpage for 2018 spring is gone. The following is from the 2017 spring syllabus):
Statistical Machine Learning is a second graduate level course in advanced machine learning, assuming students have taken Machine Learning (10-715) and Intermediate Statistics (36-705). The term “statistical” in the title reflects the emphasis on statistical theory and methodology. The course combines methodology with theoretical foundations. Theorems are presented together with practical aspects of methodology and intuition to help students develop tools for selecting appropriate methods and approaches to problems in their own research. The course includes topics in statistical theory that are important for researchers in machine learning, including nonparametric theory, consistency, minimax estimation, and concentration of measure.
Instructor:
Larry Wasserman
Description (the webpage for 2018 spring is gone. The following is from the 2017 spring syllabus):
Statistical Machine Learning is a second graduate level course in advanced machine learning, assuming students have taken Machine Learning (10-715) and Intermediate Statistics (36-705). The term “statistical” in the title reflects the emphasis on statistical theory and methodology. The course combines methodology with theoretical foundations. Theorems are presented together with practical aspects of methodology and intuition to help students develop tools for selecting appropriate methods and approaches to problems in their own research. The course includes topics in statistical theory that are important for researchers in machine learning, including nonparametric theory, consistency, minimax estimation, and concentration of measure.
Instructor:
Larry Wasserman
2017 fall
Modern Regression (36-607)
Description:
This course is an introduction to applied data analysis. We will explore data sets, examine various models for the data, assess the validity of their assumptions, and determine which conclusions we can make (if any). Data analysis is a bit of an art; there may be several valid approaches. We will strongly emphasize the importance of critical thinking about the data and the question of interest. Our overall goal is to use a basic set of modeling tools to explore and analyze data and to present the results in a scientific report. The course includes a review and discussion of exploratory methods, informal techniques for summarizing and viewing data. We then consider simple linear regression, a model that uses only one predictor. After briefly reviewing some linear algebra, we turn to multiple linear regression, a model that uses multiple variables to predict the response of interest. For all models, we will examine the underlying assumptions. More specifically, do the data support the assumptions? Do they contradict them? What are the consequences for inference? Finally, we will explore extra topics such as nonlinear regression or regression with time-dependent data.
Instructor:
Larry Wasserman
Matrices and Linear Transformation (21-241)
Description:
Linear algebra covers material which is essential to anyone who does any mathematical computation in engineering and the sciences. In application and in class, the subject divides naturally into two parts: computation and formal structure.
These are intimately related, but operationally distinct: on the one hand, computations with matrices and linear equations can be made into efficient algorithms, in mental code or in computer code, and, once created, these can be carried out with little attention to the theory. On the other band, in order to understand, to choose and then correctly optimize the applications of linear algebra, it is necessary to see the underlying formal algebraic structure.
What does this mean for this course? Your challenge will be to master the algorithmic aspects of the subject, without thinking that this is all that there is to the subject, and to deal with the underlying formal structure by using the concrete model of matrices and vectors as a guide and as a tool.
Instructor:
David Handron
Description:
This course is an introduction to applied data analysis. We will explore data sets, examine various models for the data, assess the validity of their assumptions, and determine which conclusions we can make (if any). Data analysis is a bit of an art; there may be several valid approaches. We will strongly emphasize the importance of critical thinking about the data and the question of interest. Our overall goal is to use a basic set of modeling tools to explore and analyze data and to present the results in a scientific report. The course includes a review and discussion of exploratory methods, informal techniques for summarizing and viewing data. We then consider simple linear regression, a model that uses only one predictor. After briefly reviewing some linear algebra, we turn to multiple linear regression, a model that uses multiple variables to predict the response of interest. For all models, we will examine the underlying assumptions. More specifically, do the data support the assumptions? Do they contradict them? What are the consequences for inference? Finally, we will explore extra topics such as nonlinear regression or regression with time-dependent data.
Instructor:
Larry Wasserman
Matrices and Linear Transformation (21-241)
Description:
Linear algebra covers material which is essential to anyone who does any mathematical computation in engineering and the sciences. In application and in class, the subject divides naturally into two parts: computation and formal structure.
These are intimately related, but operationally distinct: on the one hand, computations with matrices and linear equations can be made into efficient algorithms, in mental code or in computer code, and, once created, these can be carried out with little attention to the theory. On the other band, in order to understand, to choose and then correctly optimize the applications of linear algebra, it is necessary to see the underlying formal algebraic structure.
What does this mean for this course? Your challenge will be to master the algorithmic aspects of the subject, without thinking that this is all that there is to the subject, and to deal with the underlying formal structure by using the concrete model of matrices and vectors as a guide and as a tool.
Instructor:
David Handron
2017 spring
Probability Theory and Random Processes (36-217)
Description:
This course provides an introduction to probability theory. It is designed for students in electrical and computer engineering. Topics include elementary probability theory, conditional probability and independence, random variables, distribution functions, joint and conditional distributions, limit theorems, and an introduction to random processes. Some elementary ideas in spectral analysis and information theory will be given. The use of a computer package will be an integral part of this course.
Instructor:
Ross O'Connell
Statistical Reasoning and Practice (36-201)
Description:
The course is an algebra-based introduction to statistical concepts up to elementary significance
testing. Topics include: Data analysis & experimental design; elementary probability & one-
variable distributions; and inference (confidence intervals & p-value-based hypothesis testing) for
mean, proportion, chi-squared, regression, and one-way ANOVA.
Instructor:
Gordon Weinberg
Applied Econometrics I (94-834)
Description:
Econometrics has an important place in the data sciences. As your textbook authors say, the purpose of econometrics is to
“untangle cause and effect in human affairs.” Econometrics is essential for advancing understanding in the social sciences,
conducting public policy evaluation, and assessing the impact of business practice.
Applied Econometrics I is the first course in a two-course sequence designed to teach the essentials of econometric
methodology.
During the first course you will:
• Learn why random assignment is so useful for the purpose of sorting out cause and effect.
• Develop a clear understanding of bivariate and multiple regression, and come to appreciate the
value and limitations of regression methods.
• Acquire an appreciation for the use of instrumental variables for the
purpose of evaluating causality in complex real-world applications.
Instructor:
Edson Severnini
Description:
This course provides an introduction to probability theory. It is designed for students in electrical and computer engineering. Topics include elementary probability theory, conditional probability and independence, random variables, distribution functions, joint and conditional distributions, limit theorems, and an introduction to random processes. Some elementary ideas in spectral analysis and information theory will be given. The use of a computer package will be an integral part of this course.
Instructor:
Ross O'Connell
Statistical Reasoning and Practice (36-201)
Description:
The course is an algebra-based introduction to statistical concepts up to elementary significance
testing. Topics include: Data analysis & experimental design; elementary probability & one-
variable distributions; and inference (confidence intervals & p-value-based hypothesis testing) for
mean, proportion, chi-squared, regression, and one-way ANOVA.
Instructor:
Gordon Weinberg
Applied Econometrics I (94-834)
Description:
Econometrics has an important place in the data sciences. As your textbook authors say, the purpose of econometrics is to
“untangle cause and effect in human affairs.” Econometrics is essential for advancing understanding in the social sciences,
conducting public policy evaluation, and assessing the impact of business practice.
Applied Econometrics I is the first course in a two-course sequence designed to teach the essentials of econometric
methodology.
During the first course you will:
• Learn why random assignment is so useful for the purpose of sorting out cause and effect.
• Develop a clear understanding of bivariate and multiple regression, and come to appreciate the
value and limitations of regression methods.
• Acquire an appreciation for the use of instrumental variables for the
purpose of evaluating causality in complex real-world applications.
Instructor:
Edson Severnini
2016 fall
Introduction to Machine Learning (10601b)
Description:
Machine Learning is concerned with computer programs that automatically improve their performance through experience (e.g., programs that learn to recognize human faces, recommend music and movies, and drive autonomous robots). This course covers the theory and practical algorithms for machine learning from a variety of perspectives. We cover topics such as Bayesian networks, decision tree learning, Support Vector Machines, statistical learning methods, unsupervised learning and reinforcement learning. The course covers theoretical concepts such as inductive bias, the PAC learning framework, Bayesian learning methods, margin-based learning, and Occam’s Razor. Short programming assignments include hands-on experiments with various learning algorithms. This course is designed to give a graduate-level student a thorough grounding in the methodologies, technologies, mathematics and algorithms currently needed by people who do research in machine learning.
Instructor:
Matt Gormley, Maria-Florina Balcan
Description:
Machine Learning is concerned with computer programs that automatically improve their performance through experience (e.g., programs that learn to recognize human faces, recommend music and movies, and drive autonomous robots). This course covers the theory and practical algorithms for machine learning from a variety of perspectives. We cover topics such as Bayesian networks, decision tree learning, Support Vector Machines, statistical learning methods, unsupervised learning and reinforcement learning. The course covers theoretical concepts such as inductive bias, the PAC learning framework, Bayesian learning methods, margin-based learning, and Occam’s Razor. Short programming assignments include hands-on experiments with various learning algorithms. This course is designed to give a graduate-level student a thorough grounding in the methodologies, technologies, mathematics and algorithms currently needed by people who do research in machine learning.
Instructor:
Matt Gormley, Maria-Florina Balcan
2015 spring
Set Theory (21329)
Description:
Set theory was invented about 110 years ago by George Cantor as an instrument to understand infinite objects and to compare different sizes of infinite sets. Since then set theory has come to play an important role in several branches of modern mathematics, and serves as a foundation of mathematics. Contents: Basic properties of natural numbers, countable and uncountable sets, construction of the real numbers, some basic facts about the topology of the real line, cardinal numbers and cardinal arithmetic, the continuum hypothesis, well ordered sets, ordinal numbers and transfinite induction, the axiom of choice, Zorn's lemma. Optional topics if time permits: Infinitary combinatorics, filters and large cardinals, Borel and analytic sets of reals. 3 hrs. lec.
Instructor:
Clinton T. Conley (http://www.math.cmu.edu/~clintonc/)
Description:
Set theory was invented about 110 years ago by George Cantor as an instrument to understand infinite objects and to compare different sizes of infinite sets. Since then set theory has come to play an important role in several branches of modern mathematics, and serves as a foundation of mathematics. Contents: Basic properties of natural numbers, countable and uncountable sets, construction of the real numbers, some basic facts about the topology of the real line, cardinal numbers and cardinal arithmetic, the continuum hypothesis, well ordered sets, ordinal numbers and transfinite induction, the axiom of choice, Zorn's lemma. Optional topics if time permits: Infinitary combinatorics, filters and large cardinals, Borel and analytic sets of reals. 3 hrs. lec.
Instructor:
Clinton T. Conley (http://www.math.cmu.edu/~clintonc/)
Management Science I: Optimization and Multicriteria Methods
Description:
This course focuses on the application of quantitative models and methods to management decision making and policy analysis. Topics covered include linear programming and other forms of optimization. Examples of application areas include: finance urban service delivery personnel planning and health care services. Excel will be used extensively to teach and illustrate concepts.
This course along with its companion (90-760 Management Science II: Decision and Risk Modeling) survey a variety of management science methods useful to managers and analysts in the public healthcare and non-profit domains. Management Science I is not a prerequisite for Management Science II; you can take either one or both and in any order.
Instructor:
Jonathan P. Caulkins
Description:
This course focuses on the application of quantitative models and methods to management decision making and policy analysis. Topics covered include linear programming and other forms of optimization. Examples of application areas include: finance urban service delivery personnel planning and health care services. Excel will be used extensively to teach and illustrate concepts.
This course along with its companion (90-760 Management Science II: Decision and Risk Modeling) survey a variety of management science methods useful to managers and analysts in the public healthcare and non-profit domains. Management Science I is not a prerequisite for Management Science II; you can take either one or both and in any order.
Instructor:
Jonathan P. Caulkins
Management Science II: Decision and Risk Modeling
Description:
The course theme is decision making in the face of uncertainty. It covers applications of methodology for forecasting, queuing theory, project management, forecasting and behavioral decision theory. The focus of the course is on how to approach abstract and analyze messy problems from a quantitative analytical perspective. Students will learn to use stochastic modeling for management and policy decision making. Use is made of appropriate software.
Instructor:
Jonathan P. Caulkins
Description:
The course theme is decision making in the face of uncertainty. It covers applications of methodology for forecasting, queuing theory, project management, forecasting and behavioral decision theory. The focus of the course is on how to approach abstract and analyze messy problems from a quantitative analytical perspective. Students will learn to use stochastic modeling for management and policy decision making. Use is made of appropriate software.
Instructor:
Jonathan P. Caulkins
Building Controls and Diagnostics
Description:
This course introduces the concepts and methods of building diagnostics. It focuses on the empirical evaluation of the built environment (building components and systems, interactions between building, occupants and environmental conditions) in view of multiple performance criteria (thermal, visual and acoustic performance). Field measurement and assessment techniques will be introduced. The empirical methods of building analysis are commonly used to: describe/specify building components; study the real-time behavior of buildings; detect the causes of building failures; and gather data for model validation. The course will address these issues, both theoretically and practically, through the application of: field measurement techniques; physical modeling methods; and computer-aided building modeling. Computer-aided data processing techniques will be applied for the analysis and interpretation of the results of model and field studies. The role of building performance simulation in the area of building diagnostics will be investigated
Instructors:
Khee Poh Lam (http://www.cmu.edu/architecture/people/faculty/khee-poh-lam.html), Omer T. Karaguzel
Description:
This course introduces the concepts and methods of building diagnostics. It focuses on the empirical evaluation of the built environment (building components and systems, interactions between building, occupants and environmental conditions) in view of multiple performance criteria (thermal, visual and acoustic performance). Field measurement and assessment techniques will be introduced. The empirical methods of building analysis are commonly used to: describe/specify building components; study the real-time behavior of buildings; detect the causes of building failures; and gather data for model validation. The course will address these issues, both theoretically and practically, through the application of: field measurement techniques; physical modeling methods; and computer-aided building modeling. Computer-aided data processing techniques will be applied for the analysis and interpretation of the results of model and field studies. The role of building performance simulation in the area of building diagnostics will be investigated
Instructors:
Khee Poh Lam (http://www.cmu.edu/architecture/people/faculty/khee-poh-lam.html), Omer T. Karaguzel
Zero Energy Housing
Description:
Net zero energy construction has gone from concept to policy in just a few years, but built examples are still rare. What does it take, technically, to achieve net zero and what else, beyond technical requirements, advances or impedes a net zero future? 48-752 is a graduate level class that explores net zero energy design and construction in the residential sector. Through case studies and applied projects, we will explore what it takes to achieve quantitative net zero in residential buildings while maintaining occupant comfort and satisfaction. In locations where net zero is now required, we will examine the results of those requirements. At the outset, we will discuss specific definitions of a net-zero building and the implications of each definition. Through case studies, lectures, field trips, outside reading and assignments, we will examine how a net-zero building is achieved, including the use of renewable energy to achieve the net-zero balance. We will apply lessons learned from metered examples to real sites and to new design or renovation projects in Pittsburgh and will use simulation software to test and quantify the impact of our design/renovation strategies. We will also compare our strategies to requirements in US codes and rating systems such as IECC-2012 and LEED for Homes to evaluate their impact in moving the US residential sector toward much higher performance buildings. Although our focus is residential, many of the concepts and strategies we cover have parallels in the commercial sector. Students who enroll in the class must know how to calculate without software heat loss and heat gain for a small building. You are also expected to have a fundamental understanding of residential design and construction, plan reading and mechanical systems; US residential materials and construction methods for net zero will be covered in class.
Instructor:
Nina Baird (http://www.cmu.edu/architecture/people/faculty/nina-baird.html)
Description:
Net zero energy construction has gone from concept to policy in just a few years, but built examples are still rare. What does it take, technically, to achieve net zero and what else, beyond technical requirements, advances or impedes a net zero future? 48-752 is a graduate level class that explores net zero energy design and construction in the residential sector. Through case studies and applied projects, we will explore what it takes to achieve quantitative net zero in residential buildings while maintaining occupant comfort and satisfaction. In locations where net zero is now required, we will examine the results of those requirements. At the outset, we will discuss specific definitions of a net-zero building and the implications of each definition. Through case studies, lectures, field trips, outside reading and assignments, we will examine how a net-zero building is achieved, including the use of renewable energy to achieve the net-zero balance. We will apply lessons learned from metered examples to real sites and to new design or renovation projects in Pittsburgh and will use simulation software to test and quantify the impact of our design/renovation strategies. We will also compare our strategies to requirements in US codes and rating systems such as IECC-2012 and LEED for Homes to evaluate their impact in moving the US residential sector toward much higher performance buildings. Although our focus is residential, many of the concepts and strategies we cover have parallels in the commercial sector. Students who enroll in the class must know how to calculate without software heat loss and heat gain for a small building. You are also expected to have a fundamental understanding of residential design and construction, plan reading and mechanical systems; US residential materials and construction methods for net zero will be covered in class.
Instructor:
Nina Baird (http://www.cmu.edu/architecture/people/faculty/nina-baird.html)
Master Project
Description:
Master’s Projects provide students with the opportunity to conduct research under the direction of the School’s faculty.
Instructor:
Volker Hartkopf
Project webpage: Senior Center
Description:
Master’s Projects provide students with the opportunity to conduct research under the direction of the School’s faculty.
Instructor:
Volker Hartkopf
Project webpage: Senior Center
Piano
Instructor: Carla Larocca
Instructor: Carla Larocca
2014 fall
Algorithm Design and Analysis (15451/15651)
Description:
This course is about the design and analysis of algorithms. We study specific algorithms for a variety of problems, as well as general design and analysis techniques. Specific topics include searching, sorting, algorithms for graph problems, efficient data structures, lower bounds and NP-completeness. A variety of other topics may be covered at the discretion of the instructor. These include parallel algorithms, randomized algorithms, geometric algorithms, low level techniques for efficient programming, cryptography, and cryptographic protocols.
Instructor:
Anupam Gupta (http://www.cs.cmu.edu/~anupamg/), Danny Sleator (http://www.cs.cmu.edu/~sleator/)
Advanced CAD/BIM/3D Studio
Description:
This class is designed to introduce a student to advanced CAD commands, including AutoCAD 3D, 3D Studio MAX, and REVIT Architecture. Students will learn how to properly set up and manipulate 3D CAD projects integrating all three software applications, replicating real world projects in leading architectural firms. Building information and parametric modeling, animations, materials, lighting, and rendering concepts will allow students to create integrated projects, 3D video animations, and realistic renderings. At the conclusion of this course, students will have projects and animations created and architectural CAD/BIM standards outlined.
Instructor:
Kristen Kurland (http://www.heinz.cmu.edu/faculty-and-research/faculty-profiles/faculty-details/index.aspx?faculty_id=54)
Empirical Methods for Public Policy and Analysis
Description:
The course is divided into four distinct components: Descriptive statistics, probability, fundamentals of statistical inference, and regression analysis. The module on descriptive statistics is the calculation and interpretation of summary statistical measures for describing raw data. The module on probability is intended to provide you with an introduction to key concepts of probability. The module on fundamentals of statistical inferences is designed to provide you with the background for executing and interpreting hypothesis tests and confidence intervals. The final module of the course focuses on regression analysis, a widely used statistical methodology. Throughout the course we will regularly use a statistical software package called Minitab. Minitab is very easy to use and no prior experience with computing is required "to get you going."
The objectives of the course are to provide students with the ability to:
(1) Use statistics to summarize patterns in raw data;
(2) Use data to infer cause and effect relationships;
(3) Use probability to characterize uncertainty;
(4) Calculate and interpret confidence intervals and perform and interpret hypothesis tests;
(5) Perform and interpret regression analyses;
(6) Use the statistical software package Minitab;
(7) Prepare you for more advanced statistical courses
Instructor:
Daniel S. Nagin(http://www.heinz.cmu.edu/faculty-and-research/faculty-profiles/faculty-details/index.aspx?faculty_id=69)
Laura Brandimarte (http://www.heinz.cmu.edu/faculty-and-research/faculty-profiles/faculty-details/index.aspx?faculty_id=298)
Master Project
Elective Studio Lesson (piano)
Algorithm Design and Analysis (15451/15651)
Description:
This course is about the design and analysis of algorithms. We study specific algorithms for a variety of problems, as well as general design and analysis techniques. Specific topics include searching, sorting, algorithms for graph problems, efficient data structures, lower bounds and NP-completeness. A variety of other topics may be covered at the discretion of the instructor. These include parallel algorithms, randomized algorithms, geometric algorithms, low level techniques for efficient programming, cryptography, and cryptographic protocols.
Instructor:
Anupam Gupta (http://www.cs.cmu.edu/~anupamg/), Danny Sleator (http://www.cs.cmu.edu/~sleator/)
Advanced CAD/BIM/3D Studio
Description:
This class is designed to introduce a student to advanced CAD commands, including AutoCAD 3D, 3D Studio MAX, and REVIT Architecture. Students will learn how to properly set up and manipulate 3D CAD projects integrating all three software applications, replicating real world projects in leading architectural firms. Building information and parametric modeling, animations, materials, lighting, and rendering concepts will allow students to create integrated projects, 3D video animations, and realistic renderings. At the conclusion of this course, students will have projects and animations created and architectural CAD/BIM standards outlined.
Instructor:
Kristen Kurland (http://www.heinz.cmu.edu/faculty-and-research/faculty-profiles/faculty-details/index.aspx?faculty_id=54)
Empirical Methods for Public Policy and Analysis
Description:
The course is divided into four distinct components: Descriptive statistics, probability, fundamentals of statistical inference, and regression analysis. The module on descriptive statistics is the calculation and interpretation of summary statistical measures for describing raw data. The module on probability is intended to provide you with an introduction to key concepts of probability. The module on fundamentals of statistical inferences is designed to provide you with the background for executing and interpreting hypothesis tests and confidence intervals. The final module of the course focuses on regression analysis, a widely used statistical methodology. Throughout the course we will regularly use a statistical software package called Minitab. Minitab is very easy to use and no prior experience with computing is required "to get you going."
The objectives of the course are to provide students with the ability to:
(1) Use statistics to summarize patterns in raw data;
(2) Use data to infer cause and effect relationships;
(3) Use probability to characterize uncertainty;
(4) Calculate and interpret confidence intervals and perform and interpret hypothesis tests;
(5) Perform and interpret regression analyses;
(6) Use the statistical software package Minitab;
(7) Prepare you for more advanced statistical courses
Instructor:
Daniel S. Nagin(http://www.heinz.cmu.edu/faculty-and-research/faculty-profiles/faculty-details/index.aspx?faculty_id=69)
Laura Brandimarte (http://www.heinz.cmu.edu/faculty-and-research/faculty-profiles/faculty-details/index.aspx?faculty_id=298)
Master Project
Elective Studio Lesson (piano)
2014 summer
Introduction to Computer Systems (ICS) (15213)
Description:
This course provides a programmer's view of how computer systems execute programs, store information, and communicate. It enables students to become more effective programmers, especially in dealing with issues of performance, portability and robustness. It also serves as a foundation for courses on compilers, networks, operating systems, and computer architecture, where a deeper understanding of systems-level issues is required. Topics covered include: machine-level code and its generation by optimizing compilers, performance evaluation and optimization, computer arithmetic, memory organization and management, networking technology and protocols, and supporting concurrent computation (webpage: http://www.cs.cmu.edu/~213/).
Instructor:
Gregory Kesden (http://www.cs.cmu.edu/~gkesden/)
Introduction to Computer Systems (ICS) (15213)
Description:
This course provides a programmer's view of how computer systems execute programs, store information, and communicate. It enables students to become more effective programmers, especially in dealing with issues of performance, portability and robustness. It also serves as a foundation for courses on compilers, networks, operating systems, and computer architecture, where a deeper understanding of systems-level issues is required. Topics covered include: machine-level code and its generation by optimizing compilers, performance evaluation and optimization, computer arithmetic, memory organization and management, networking technology and protocols, and supporting concurrent computation (webpage: http://www.cs.cmu.edu/~213/).
Instructor:
Gregory Kesden (http://www.cs.cmu.edu/~gkesden/)
2014 spring
Principles of Imperative Computation (15122)
Description:
For students with a basic understanding of programming (variables, expressions, loops, arrays, functions). Teaches imperative programming and methods for ensuring the correctness of programs. Students will learn the process and concepts needed to go from high-level descriptions of algorithms to correct imperative implementations, with specific application to basic data structures and algorithms. Much of the course will be conducted in C0, a subset of C amenable to verification, with a transition to full C near the end.
This course prepares students for 15-213 and 15-210. NOTE: students must achieve a C or better in order to use this course to satisfy the pre-requisite for any subsequent Computer Science course (webpage: http://symbolaris.com/course/pic14.html).
Instructor:
André Platzer(http://symbolaris.com/andre.html), Anupam Datta(http://www.andrew.cmu.edu/user/danupam/)
Principles of Imperative Computation (15122)
Description:
For students with a basic understanding of programming (variables, expressions, loops, arrays, functions). Teaches imperative programming and methods for ensuring the correctness of programs. Students will learn the process and concepts needed to go from high-level descriptions of algorithms to correct imperative implementations, with specific application to basic data structures and algorithms. Much of the course will be conducted in C0, a subset of C amenable to verification, with a transition to full C near the end.
This course prepares students for 15-213 and 15-210. NOTE: students must achieve a C or better in order to use this course to satisfy the pre-requisite for any subsequent Computer Science course (webpage: http://symbolaris.com/course/pic14.html).
Instructor:
André Platzer(http://symbolaris.com/andre.html), Anupam Datta(http://www.andrew.cmu.edu/user/danupam/)
Functional Programming (15150)
Description:
The purpose of this course is to introduce the theory and practice of functional programming (FP). The characteristic feature of FP is the emphasis on computation as evaluation. The traditional distinction between program and data characteristic of imperative programming (IP) is replaced by an emphasis on classifying expressions by types that specify their applicative behavior. Types include familiar (fixed and arbitrary precision) numeric types, tuples and records (structs), classified values (objects), inductive types such as trees, functions with specified inputs and outputs, and commands such as input and output. Well-typed expressions are evaluated to produce values, in a manner that is guaranteed to be type-safe. Because functional programs do not cause side-effects we can take advantage of simple mathematical principles in reasoning about applicative behavior and analyzing the runtime properties of programs.
Upon completion of this course, students will have acquired a mastery of basic functional programming techniques, including the design of programs using types, the development of programs using mathematical techniques for verification and analysis, the use of abstract types and modules to structure code, and the exploitation of parallelism in applications.
(webpage: http://www.cs.cmu.edu/~./15150/)
Instructor:
Michael Erdmann (http://www.cs.cmu.edu/~me/)
Description:
The purpose of this course is to introduce the theory and practice of functional programming (FP). The characteristic feature of FP is the emphasis on computation as evaluation. The traditional distinction between program and data characteristic of imperative programming (IP) is replaced by an emphasis on classifying expressions by types that specify their applicative behavior. Types include familiar (fixed and arbitrary precision) numeric types, tuples and records (structs), classified values (objects), inductive types such as trees, functions with specified inputs and outputs, and commands such as input and output. Well-typed expressions are evaluated to produce values, in a manner that is guaranteed to be type-safe. Because functional programs do not cause side-effects we can take advantage of simple mathematical principles in reasoning about applicative behavior and analyzing the runtime properties of programs.
Upon completion of this course, students will have acquired a mastery of basic functional programming techniques, including the design of programs using types, the development of programs using mathematical techniques for verification and analysis, the use of abstract types and modules to structure code, and the exploitation of parallelism in applications.
(webpage: http://www.cs.cmu.edu/~./15150/)
Instructor:
Michael Erdmann (http://www.cs.cmu.edu/~me/)
Parallel and Sequential Data Structures and Algorithms (15210)
Description:
15-210 aims to teach methods for designing, analyzing, and programming sequential and parallel algorithms and data structures. The emphasis is on teaching fundamental concepts applicable across a wide variety of problem domains, and transferable across a reasonably broad set of programming languages and computer architectures. This course also includes a significant programming component in which students will program concrete examples from domains such as engineering, scientific computing, graphics, data mining, and information retrieval (web search).
Unlike a traditional introduction to algorithms and data structures, this course puts an emphasis on parallel thinking — i.e., thinking about how algorithms can do multiple things at once instead of one at a time. The course follows up on material learned in 15-122 and 15-150 but goes into significantly more depth on algorithmic issues. Concepts covered in this class include: Problem vs. Algorithm, Asymptotic Analysis and Techniques in Algorithm Design
(webpage: http://www.cs.cmu.edu/~15210/)
Instructor:
Guy Blelloch (http://www.cs.cmu.edu/~./blelloch/), Margaret Reid-Miller (http://www.cs.cmu.edu/~mrmiller/)
Description:
15-210 aims to teach methods for designing, analyzing, and programming sequential and parallel algorithms and data structures. The emphasis is on teaching fundamental concepts applicable across a wide variety of problem domains, and transferable across a reasonably broad set of programming languages and computer architectures. This course also includes a significant programming component in which students will program concrete examples from domains such as engineering, scientific computing, graphics, data mining, and information retrieval (web search).
Unlike a traditional introduction to algorithms and data structures, this course puts an emphasis on parallel thinking — i.e., thinking about how algorithms can do multiple things at once instead of one at a time. The course follows up on material learned in 15-122 and 15-150 but goes into significantly more depth on algorithmic issues. Concepts covered in this class include: Problem vs. Algorithm, Asymptotic Analysis and Techniques in Algorithm Design
(webpage: http://www.cs.cmu.edu/~15210/)
Instructor:
Guy Blelloch (http://www.cs.cmu.edu/~./blelloch/), Margaret Reid-Miller (http://www.cs.cmu.edu/~mrmiller/)
Concepts of Mathematics (21127)
Description:
By the end of this course the student should be able to
(webpage: http://www.math.cmu.edu/undergraduate/crs/21127.htm)
Instructor:
Tim Flaherty (http://www.math.cmu.edu/math/faculty/Flaherty)
Paradigms of Research in Architecture
Description:
This course is an introduction to models and methods of academic research – particularly as they relate to building design issues – and a forum for intellectual curiosity. The initial 10 weeks of the semester involves an overview and covers several methods of research, including models of natural sciences, social sciences, sciences of the artificial, engineering and aesthetic in building design. During the final 5 weeks of the semester faculty from both the College of Fine Arts (CFA) and Carnegie Institute of Technology (CIT) will be invited to make presentations about their areas of research and the methods they use.
Assignments are as follows:
Ömer Akin (http://www.cmu.edu/architecture/people/faculty/omer-akin.html)
Performance of Advanced Building Systems
Description:
Every day we are reminded of the severe energy and environmental consequences of human activities in political, social, ecological and economic ways. This course will focus on the centrality of the built environment in positively addressing these challenges and opportunities. The future practitioners can be change agents in the creation of sustainably built environments. The course will introduce methods and approaches that provide fundamental scientific, technological, ecological, social and policy opportunities in building design. Successful completion of the course will provide students with the knowledge and skills to become competent professionals in their chosen disciplines by providing a path for lifelong learning.
The course will focus on the importance of systems integration to create best practices. We will focus on the importance of systems integration for closed-cycle energy, material, water and waste elimination design while improving human health and quality of life, demonstrated through breakthrough projects around the globe (reference: course syllabus).
Instructor:
Volker Hartkopf (http://www.cmu.edu/architecture/people/faculty/volker-hartkopf.html)
Elective Studio Lesson (piano)
Description
Carla LaRocca (http://music.cmu.edu/profiles?page=6)
Description:
By the end of this course the student should be able to
- Construct logically correct proofs using basic proof techniques such as proof by contradiction.
- Deploy basic problem solving strategies.
(webpage: http://www.math.cmu.edu/undergraduate/crs/21127.htm)
Instructor:
Tim Flaherty (http://www.math.cmu.edu/math/faculty/Flaherty)
Paradigms of Research in Architecture
Description:
This course is an introduction to models and methods of academic research – particularly as they relate to building design issues – and a forum for intellectual curiosity. The initial 10 weeks of the semester involves an overview and covers several methods of research, including models of natural sciences, social sciences, sciences of the artificial, engineering and aesthetic in building design. During the final 5 weeks of the semester faculty from both the College of Fine Arts (CFA) and Carnegie Institute of Technology (CIT) will be invited to make presentations about their areas of research and the methods they use.
Assignments are as follows:
- Thesis. Construct a thesis to form the core of your research or scholarship proposal
- Annotated bibliography. Conduct a source search for the thesis you have been exploring in the previous assignments
- Elaboration. Explore the pros and cons of your thesis statement
- Restatement. Select one of your arguments around which to build your case
- Method. Describe an overall process with which you can investigate your proposed argument(s)
- Proposal. Develop a research proposal based on the findings of all previous assignments. (45%)(reference: course syllabus)
Ömer Akin (http://www.cmu.edu/architecture/people/faculty/omer-akin.html)
Performance of Advanced Building Systems
Description:
Every day we are reminded of the severe energy and environmental consequences of human activities in political, social, ecological and economic ways. This course will focus on the centrality of the built environment in positively addressing these challenges and opportunities. The future practitioners can be change agents in the creation of sustainably built environments. The course will introduce methods and approaches that provide fundamental scientific, technological, ecological, social and policy opportunities in building design. Successful completion of the course will provide students with the knowledge and skills to become competent professionals in their chosen disciplines by providing a path for lifelong learning.
The course will focus on the importance of systems integration to create best practices. We will focus on the importance of systems integration for closed-cycle energy, material, water and waste elimination design while improving human health and quality of life, demonstrated through breakthrough projects around the globe (reference: course syllabus).
Instructor:
Volker Hartkopf (http://www.cmu.edu/architecture/people/faculty/volker-hartkopf.html)
Elective Studio Lesson (piano)
Description
- Weekly one-on-one private studio lessons for the beginner, intermediate and advanced student
- 14 lessons offered per semester: 30, 45, 60-minutes per week
- Criteria for the lessons will vary depending upon studio teacher
Carla LaRocca (http://music.cmu.edu/profiles?page=6)
Fall 2013
Principles of Computing (15110)
15-110 is a course in fundamental computing principles for students with little to no computing background. The course covers the following topics:
Instructor:
Dilsun Kaynar (http://www.cs.cmu.edu/~dilsun/), Roger B. Dannenberg (http://www.cs.cmu.edu/~rbd/)
Building Performance Modeling
Description:This course introduces fundamentals and computational methods in building performance modeling. Topics include: modeling and design, overview of thermal, visual, and acoustical domain knowledge, integration of performance simulation in computer-aided design, introduction to the application of advanced computational building simulation tools, case studies and design assignments on the application of simulation in the evaluation and improvement of building performance.
(https://enr-apps.as.cmu.edu/open/SOC/SOCServlet/search)
Instructor:
Khee Poh Lam (http://www.cmu.edu/architecture/people/faculty/khee-poh-lam.html)
Productivity, Health and the Quality of Buildings
Description:
Given the growing demand for green buildings by federal and private sector clients, professional practices are ?tooling up? all over the world to deliver high performance, environmentally responsive, ?green? buildings and communities. However, investments in green, high performance building solutions and technologies are still limited by first cost decision-making, and life cycle tools are still largely inaccessible to professionals. A building investment decision support tool ? BIDS? - continues to be developed by the Center for Building Performance and Diagnostics at Carnegie Mellon University, with the support of the Advanced Building Systems Integration Consortium. This cost-benefit decision support tool presents the substantial cost-benefits of a range of advanced and innovative building systems designed to deliver ? privacy and interaction, air quality, ergonomics, lighting control, thermal control, network flexibility, and access to the natural environment - from field case studies, laboratory studies, simulation studies, and other research efforts. This course will explore the relationship of quality buildings, building systems, and land-use to productivity, health, well-being and the environment. The course will engage students in the literature that relates building design decisions to ten cost/performance impacts: energy, facilities management, organizational change, technological change, attraction/retention (quality of life) of employees, individual productivity, organizational productivity, salvage/ waste, tax/ insurance/ litigation, and health.
(https://enr-apps.as.cmu.edu/open/SOC/SOCServlet/search)
Instructor:
Vivian Loftness (http://www.cmu.edu/architecture/people/faculty/vivian-loftness.html)
Special Topics: Ecological Footprints
Description:
The Ecological Footprint is a measure of the demand that human activity puts on the biosphere. More precisely, it measures the amount of biologically productive land and water area required to produce all the resources an individual, population, or activity consumes, and to absorb the waste they generate, given prevailing technology and resource management practices (Global Footprint Network 2010). This course will engage students in the metrics and impacts of our collective consumption and waste of: -Energy -Materials (Cradle to Cradle) -Food -Water -Transportation -The Integration of Systems towards Quality of Life Starting at the global context, this course will address challenges/opportunities to advance regenerative practices, improving our relationship to nature. Learning from international best practices, we will continue to explore ecological footprints at the global, national, regional, city, neighborhood, building and individual scale. The course will be based on lectures and readings, with assignments and student presentations to fully explore each of the footprint characteristics. Experts on water, energy, materials, food and other resources have been invited to lecture. By mid semester, an application project will be selected for ecological footprint analysis and the development of design, engineering, and operational guidelines towards reducing that footprint. The potential application projects include: the CMU campus footprint and Donner House retrofit; the Energy Innovation Center and education of the trades in reducing our regions footprint; or a new Net Zero building for Carnegie Mellon University. This will be a collaborative effort.
(https://enr-apps.as.cmu.edu/open/SOC/SOCServlet/search)
Instructor:
Volker Hartkopf (http://www.cmu.edu/architecture/people/faculty/volker-hartkopf.html)
Geographic Information Systems
Description:
This course uses the leading desktop GIS software, ArcGIS 10, from Esri and covers geospatial concepts (coordinate system and projections, vector map topology, tiled and layered maps), map design, GIS outputs, geodatabases, importing spatial and attribute data, digitizing, geocoding, spatial data processing, and spatial analysis. Other topics such as raster-vector integration, web-based GIS, network, and 3D analysis will also be covered.
By the end of the course, students will have sufficient background to identify the relevant spatial characteristics of diverse application areas enabling them to integrate spatial thinking and GIS analysis into their careers. Students who understand how to use geospatial technologies gain a significant advantage in the information technology field.
Learning Objectives:
Instructor:
Sean Qian (http://www.heinz.cmu.edu/faculty-and-research/faculty-profiles/faculty-details/index.aspx?faculty_id=520)
Elective Studio Lesson (beginning piano)
The emphasis of this course is to develop a practical keyboard facility, which includes keyboard theory and technique, sight reading, solo and ensemble repertoire, transposition, and a variety of creative activities such as harmonization and improvisation.
Instructor:
Carla LaRocca (http://music.cmu.edu/profiles?page=6)
Principles of Computing (15110)
15-110 is a course in fundamental computing principles for students with little to no computing background. The course covers the following topics:
- Programming constructs: sequencing, selection, iteration, and recursion.
- Data organization: arrays and lists.
- Use of abstraction in computing: data representation, computer organization, computer networks, functional decomposition, and application programming interfaces.
- Use of computational principles in problem-solving: divide and conquer, randomness, and concurrency.
- Classification of computational problems based on complexity, non-computable functions, and using heuristics to find reasonable solutions to complex problems.
- Social, ethical and legal issues associated with the development of new computational artifacts will also be discussed.
Instructor:
Dilsun Kaynar (http://www.cs.cmu.edu/~dilsun/), Roger B. Dannenberg (http://www.cs.cmu.edu/~rbd/)
Building Performance Modeling
Description:This course introduces fundamentals and computational methods in building performance modeling. Topics include: modeling and design, overview of thermal, visual, and acoustical domain knowledge, integration of performance simulation in computer-aided design, introduction to the application of advanced computational building simulation tools, case studies and design assignments on the application of simulation in the evaluation and improvement of building performance.
(https://enr-apps.as.cmu.edu/open/SOC/SOCServlet/search)
Instructor:
Khee Poh Lam (http://www.cmu.edu/architecture/people/faculty/khee-poh-lam.html)
Productivity, Health and the Quality of Buildings
Description:
Given the growing demand for green buildings by federal and private sector clients, professional practices are ?tooling up? all over the world to deliver high performance, environmentally responsive, ?green? buildings and communities. However, investments in green, high performance building solutions and technologies are still limited by first cost decision-making, and life cycle tools are still largely inaccessible to professionals. A building investment decision support tool ? BIDS? - continues to be developed by the Center for Building Performance and Diagnostics at Carnegie Mellon University, with the support of the Advanced Building Systems Integration Consortium. This cost-benefit decision support tool presents the substantial cost-benefits of a range of advanced and innovative building systems designed to deliver ? privacy and interaction, air quality, ergonomics, lighting control, thermal control, network flexibility, and access to the natural environment - from field case studies, laboratory studies, simulation studies, and other research efforts. This course will explore the relationship of quality buildings, building systems, and land-use to productivity, health, well-being and the environment. The course will engage students in the literature that relates building design decisions to ten cost/performance impacts: energy, facilities management, organizational change, technological change, attraction/retention (quality of life) of employees, individual productivity, organizational productivity, salvage/ waste, tax/ insurance/ litigation, and health.
(https://enr-apps.as.cmu.edu/open/SOC/SOCServlet/search)
Instructor:
Vivian Loftness (http://www.cmu.edu/architecture/people/faculty/vivian-loftness.html)
Special Topics: Ecological Footprints
Description:
The Ecological Footprint is a measure of the demand that human activity puts on the biosphere. More precisely, it measures the amount of biologically productive land and water area required to produce all the resources an individual, population, or activity consumes, and to absorb the waste they generate, given prevailing technology and resource management practices (Global Footprint Network 2010). This course will engage students in the metrics and impacts of our collective consumption and waste of: -Energy -Materials (Cradle to Cradle) -Food -Water -Transportation -The Integration of Systems towards Quality of Life Starting at the global context, this course will address challenges/opportunities to advance regenerative practices, improving our relationship to nature. Learning from international best practices, we will continue to explore ecological footprints at the global, national, regional, city, neighborhood, building and individual scale. The course will be based on lectures and readings, with assignments and student presentations to fully explore each of the footprint characteristics. Experts on water, energy, materials, food and other resources have been invited to lecture. By mid semester, an application project will be selected for ecological footprint analysis and the development of design, engineering, and operational guidelines towards reducing that footprint. The potential application projects include: the CMU campus footprint and Donner House retrofit; the Energy Innovation Center and education of the trades in reducing our regions footprint; or a new Net Zero building for Carnegie Mellon University. This will be a collaborative effort.
(https://enr-apps.as.cmu.edu/open/SOC/SOCServlet/search)
Instructor:
Volker Hartkopf (http://www.cmu.edu/architecture/people/faculty/volker-hartkopf.html)
Geographic Information Systems
Description:
This course uses the leading desktop GIS software, ArcGIS 10, from Esri and covers geospatial concepts (coordinate system and projections, vector map topology, tiled and layered maps), map design, GIS outputs, geodatabases, importing spatial and attribute data, digitizing, geocoding, spatial data processing, and spatial analysis. Other topics such as raster-vector integration, web-based GIS, network, and 3D analysis will also be covered.
By the end of the course, students will have sufficient background to identify the relevant spatial characteristics of diverse application areas enabling them to integrate spatial thinking and GIS analysis into their careers. Students who understand how to use geospatial technologies gain a significant advantage in the information technology field.
Learning Objectives:
- Develop an understanding of the world’s quickly-growing spatial data infrastructure and of how to put it to work for producing location-based information.
- Identify the relevant spatial characteristics of diverse application areas enabling professionals to integrate spatial thinking and GIS analysis into their careers.
- Have an ability to use geospatial technologies to gain a significant advantage in the information technology field.
Instructor:
Sean Qian (http://www.heinz.cmu.edu/faculty-and-research/faculty-profiles/faculty-details/index.aspx?faculty_id=520)
Elective Studio Lesson (beginning piano)
The emphasis of this course is to develop a practical keyboard facility, which includes keyboard theory and technique, sight reading, solo and ensemble repertoire, transposition, and a variety of creative activities such as harmonization and improvisation.
Instructor:
Carla LaRocca (http://music.cmu.edu/profiles?page=6)