Following a brief classroom discussion of relevant principles, each student completes the …
Following a brief classroom discussion of relevant principles, each student completes the paper design of several advanced circuits such as multiplexers, sample-and-holds, gain-controlled amplifiers, analog multipliers, digital-to-analog or analog-to-digital converters, and power amplifiers. One of each student's designs is presented to the class, and one may be built and evaluated. Associated laboratory emphasizing the use of modern analog building blocks. Alternate years.
Recent results in cryptography and interactive proofs. Lectures by instructor, invited speakers, …
Recent results in cryptography and interactive proofs. Lectures by instructor, invited speakers, and students. Alternate years. The topics covered in this course include interactive proofs, zero-knowledge proofs, zero-knowledge proofs of knowledge, non-interactive zero-knowledge proofs, secure protocols, two-party secure computation, multiparty secure computation, and chosen-ciphertext security.
In-depth study of an active research topic in computer graphics. Topics change …
In-depth study of an active research topic in computer graphics. Topics change each term. Readings from the literature, student presentations, short assignments, and a programming project. Animation is a compelling and effective form of expression; it engages viewers and makes difficult concepts easier to grasp. Today's animation industry creates films, special effects, and games with stunning visual detail and quality. This graduate class will investigate the algorithms that make these animations possible: keyframing, inverse kinematics, physical simulation, optimization, optimal control, motion capture, and data-driven methods. Our study will also reveal the shortcomings of these sophisticated tools. The students will propose improvements and explore new methods for computer animation in semester-long research projects. The course should appeal to both students with general interest in computer graphics and students interested in new applications of machine learning, robotics, biomechanics, physics, applied mathematics and scientific computing.
An introduction to the main techniques of Artifical Intelligence: state-space search methods, …
An introduction to the main techniques of Artifical Intelligence: state-space search methods, semantic networks, theorem-proving and production rule systems. Important applications of these techniques are presented. Students are expected to write programs exemplifying some of techniques taught, using the LISP lanuage.
This course introduces students to the basic knowledge representation, problem solving, and …
This course introduces students to the basic knowledge representation, problem solving, and learning methods of artificial intelligence. Upon completion of 6.034, students should be able to develop intelligent systems by assembling solutions to concrete computational problems, understand the role of knowledge representation, problem solving, and learning in intelligent-system engineering, and appreciate the role of problem solving, vision, and language in understanding human intelligence from a computational perspective.
This course provides a challenging introduction to some of the central ideas …
This course provides a challenging introduction to some of the central ideas of theoretical computer science. Beginning in antiquity, the course will progress through finite automata, circuits and decision trees, Turing machines and computability, efficient algorithms and reducibility, the P versus NP problem, NP-completeness, the power of randomness, cryptography and one-way functions, computational learning theory, and quantum computing. It examines the classes of problems that can and cannot be solved by various kinds of machines. It tries to explain the key differences between computational models that affect their power.
Graduate-level introduction to automatic speech recognition. Provides relevant background in acoustic theory …
Graduate-level introduction to automatic speech recognition. Provides relevant background in acoustic theory of speech production, properties of speech sounds, signal representation, acoustic modeling, pattern classification, search algorithms, stochastic modeling techniques (including hidden Markov modeling), and language modeling. Examines approaches of state-of-the-art speech recognition systems. Introduces students to the rapidly developing field of automatic speech recognition. Its content is divided into three parts. Part I deals with background material in the acoustic theory of speech production, acoustic-phonetics, and signal representation. Part II describes algorithmic aspects of speech recognition systems including pattern classification, search algorithms, stochastic modelling, and language modelling techniques. Part III compares and contrasts the various approaches to speech recognition, and describes advanced techniques used for acoustic-phonetic modelling, robust speech recognition, speaker adaptation, processing paralinguistic information, speech understanding, and multimodal processing.
This course is an introduction to computational theories of human cognition. Drawing …
This course is an introduction to computational theories of human cognition. Drawing on formal models from classic and contemporary artificial intelligence, students will explore fundamental issues in human knowledge representation, inductive learning and reasoning. What are the forms that our knowledge of the world takes? What are the inductive principles that allow us to acquire new knowledge from the interaction of prior knowledge with observed data? What kinds of data must be available to human learners, and what kinds of innate knowledge (if any) must they have?
Study and discussion of computational approaches and algorithms for contemporary problems in …
Study and discussion of computational approaches and algorithms for contemporary problems in functional genomics. Topics include DNA chip design, experimental data normalization, expression data representation standards, proteomics, gene clustering, self-organizing maps, Boolean networks, statistical graph models, Bayesian network models, continuous dynamic models, statistical metrics for model validation, model elaboration, experiment planning, and the computational complexity of functional genomics problems.
The purpose of this course is to cultivate an understanding of modern …
The purpose of this course is to cultivate an understanding of modern computing technology through an in-depth study of the interface between hardware and software. The student will study the history of modern computing technology before learning about modern computer architecture, then the recent switch from sequential processing to parallel processing. Upon completion of this course, students will be able to: identify important advances that have taken place in the history of modern computing and discuss some of the latest trends in computing industry; explain how programs written in high-level programming language, such as C or Java, can be translated into the language of the hardware; describe the interface between hardware and software and explain how software instructs hardware to accomplish desired functions; demonstrate an understanding of the process of carrying out sequential logic design; demonstrate an understanding of computer arithmetic hardware blocks and floating point representation; explain how a hardware programming language is executed on hardware and how hardware and software design affect performance; demonstrate an understanding of the factors that determine the performance of a program; demonstrate an understanding of the techniques that designers use to improve the performance of programs running on hardware; demonstrate an understanding of the importance of memory hierarchy in computer design and explain how memory design impacts overall hardware performance; demonstrate an understanding of storage and I/O devices, their performance measurement, and redundant array of inexpensive disks (more commonly referred to by the acronym RAID) technology; list the reasons for and the consequences of the recent switch from sequential processing to parallel processing in hardware manufacture and explain the basics of parallel programming. (Computer Science 301)
Detailed introduction to the basic hardware and software, architectural components for computer …
Detailed introduction to the basic hardware and software, architectural components for computer communications in local area networks. The components that are focused upon include understanding the basics of computer networks, switching, routing, protocols and security.
This course analyzes issues associated with the implementation of higher-level programming languages. …
This course analyzes issues associated with the implementation of higher-level programming languages. Topics covered include: fundamental concepts, functions, and structures of compilers, the interaction of theory and practice, and using tools in building software. The course includes a multi-person project on compiler design and implementation.
Computer Networking: Principles, Protocols, and Practice was written and submitted to the …
Computer Networking: Principles, Protocols, and Practice was written and submitted to the Open Textbook Challenge by Dr. Olivier Bonaventure of the UniversitĄ_ĺŕ catholique de Louvain (UCL) in Louvain-la-Neuve, Belgium. He also serves as the Education Director of ACM SIGCOMM. Computer Networking has already been used by several universities around the world, including UCL.
Topics on the engineering and analysis of network protocols and architecture, including: …
Topics on the engineering and analysis of network protocols and architecture, including: architectural principles for designing heterogeneous networks; congestion control; unicast and multicast routing; wireless and mobile networking; network quality of service; router design; network security; streaming and multicast applications; naming; content distribution; and peer-to-peer networking. Readings from original research papers, industry white papers, and Internet RFCs. Semester-long project and paper.
The course addresses dynamic systems, i.e., systems that evolve with time. Typically …
The course addresses dynamic systems, i.e., systems that evolve with time. Typically these systems have inputs and outputs; it is of interest to understand how the input affects the output (or, vice-versa, what inputs should be given to generate a desired output). In particular, we will concentrate on systems that can be modeled by Ordinary Differential Equations (ODEs), and that satisfy certain linearity and time-invariance conditions. We will analyze the response of these systems to inputs and initial conditions. It is of particular interest to analyze systems obtained as interconnections (e.g., feedback) of two or more other systems. We will learn how to design (control) systems that ensure desirable properties (e.g., stability, performance) of the interconnection with a given dynamic system.
Treatment of electromechanical transducers, rotating and linear electric machines. Lumped-parameter electromechanics of …
Treatment of electromechanical transducers, rotating and linear electric machines. Lumped-parameter electromechanics of interaction. Development of device characteristics: energy conversion density, efficiency; and of system interaction characteristics: regulation, stability, controllability, and response. Use of electric machines in drive systems. Problems taken from current research. This course explores concepts in electromechanics, using electric machinery as examples. It teaches an understanding of principles and analysis of electromechanical systems. By the end of the course, students are capable of doing electromechanical design of the major classes of rotating and linear electric machines and have an understanding of the principles of the energy conversion parts of Mechatronics. In addition to design, students learn how to estimate the dynamic parameters of electric machines and understand what the implications of those parameters are on the performance of systems incorporating those machines.
Inspired by the work of the architect Antoni Gaudi, this research workshop …
Inspired by the work of the architect Antoni Gaudi, this research workshop will explore three-dimensional problems in the static equilibrium of structural systems. Through an interdisciplinary collaboration between computer science and architecture, we will develop design tools for determining the form of three-dimensional structural systems under a variety of loads. The goal of the workshop is to develop real-time design and analysis tools which will be useful to architects and engineers in the form-finding of efficient three-dimensional structural systems.
Foundations of Computation is a free textbook for a one-semester course in …
Foundations of Computation is a free textbook for a one-semester course in theoretical computer science. It has been used for several years in a course at Hobart and William Smith Colleges. The course has no prerequisites other than introductory computer programming. The first half of the course covers material on logic, sets, and functions that would often be taught in a course in discrete mathematics. The second part covers material on automata, formal languages, and grammar that would ordinarily be encountered in an upper level course in theoretical computer science.
No restrictions on your remixing, redistributing, or making derivative works. Give credit to the author, as required.
Your remixing, redistributing, or making derivatives works comes with some restrictions, including how it is shared.
Your redistributing comes with some restrictions. Do not remix or make derivative works.
Most restrictive license type. Prohibits most uses, sharing, and any changes.
Copyrighted materials, available under Fair Use and the TEACH Act for US-based educators, or other custom arrangements. Go to the resource provider to see their individual restrictions.