This is an 84-page booklet containing a detailed unit for teaching basic computer programming skills using an iPad app called Hopscotch. The unit consists of 8 lessons where students practice computational thinking skills through open-ended programming challenges. This lesson requires students to have access to iPads and the Hopscotch app.
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.
Materials covered include: special relativity, electrodynamics of moving media, waves in dispersive media, microstrip integrated circuits, quantum optics, remote sensing, radiative transfer theory, scattering by rough surfaces, effective permittivities, and random media.
This course is a graduate introduction to natural language processing - the study of human language from a computational perspective. It covers syntactic, semantic and discourse processing models, emphasizing machine learning or corpus-based methods and algorithms. It also covers applications of these methods and models in syntactic parsing, information extraction, statistical machine translation, dialogue systems, and summarization. The subject qualifies as an Artificial Intelligence and Applications concentration subject.
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.
This is a textbook for first year Computer Science. Algorithms and Data Structures With Applications to Graphics and Geometry.
This course is offered to undergraduates and addresses several algorithmic challenges in computational biology. The principles of algorithmic design for biological datasets are studied and existing algorithms analyzed for application to real datasets. Topics covered include: biological sequence analysis, gene identification, regulatory motif discovery, genome assembly, genome duplication and rearrangements, evolutionary theory, clustering algorithms, and scale-free networks.
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.
Device and circuit level optimization of digital building blocks. MOS and bipolar device models and second order effects. Circuit design styles and arithmetic structures. Estimation and minimization of energy consumption. Interconnect models and parasitics; driver design; timing issues (clock skew, self-timed circuits, etc.). Memory architectures, circuits (sense amplifiers) and devices. Testing of integrated circuits. Extensive use of circuit layout and SPICE in design projects and software labs.
Phenomenological approach to superconductivity, with emphasis on superconducting electronics. Electrodynamics of superconductors, London's model, and flux quantization. Josephson Junctions and superconducting quantum devices, equivalent circuits, and high-speed superconducting electronics. Quantized circuits for quantum computing. Overview of type II superconductors, critical magnetic fields, pinning, the critical state model, superconducting materials, and microscopic theory of superconductivity. Alternate years.
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.
Explore some of the wonders of modern engineering in this video from the Sciencenter in Ithaca, New York. Hear a diverse selection of engineers explain how things work.
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 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.
6.270 is a hands-on, learn-by-doing class, in which participants design and build a robot that will play in a competition at the end of January. The goal for the students is to design a machine that will be able to navigate its way around the playing surface, recognize other opponents, and manipulate game objects. Unlike the machines in Introduction to Design (2.70), 6.270 robots are totally autonomous, so once a round begins, there is no human intervention. The goal of 6.270 is to teach students about robotic design by giving them the hardware, software, and information they need to design, build, and debug their own robot.
This interdisciplinary course provides a hands-on approach to students in the topics of bioinformatics and proteomics. Lectures and labs cover sequence analysis, microarray expression analysis, Bayesian methods, control theory, scale-free networks, and biotechnology applications. Designed for those with a computational and/or engineering background, it will include current real-world examples, actual implementations, and engineering design issues. Where applicable, engineering issues from signal processing, network theory, machine learning, robotics and other domains will be expounded upon.
Learn through interactive problem solving – proven to be more effective than lectures. Enjoy interactive explorations written by award-winning teachers, researchers, and professionals. Brilliant guides you through an interactive exploration of concepts and principles, and helps you build your quantitative intuition. Learn frameworks for thinking and solving challenging problems, instead of memorizing formulas.
This course will serve as a two-week aggressively gentle introduction to programming for those students who lack background in the field. Specifically targeted at students with little or no programming experience, the course seeks to reach students who intend to take 6.001 in the Spring Term and feel they would struggle because they lack the necessary background. The main focus of the subject will be acquiring programming experience: instruction in programming fundamentals coupled with lots of practice problems. Lots of programming required, but lots of support provided.
Learn about the Chandra X-Ray Observatory's telescope system, science instruments, and spacecraft system in this interactive activity adapted from NASA.
"The bridge from algorithms to programming can be a short one if students understand the difference between planning out a sequence and encoding that sequence into the appropriate language. This activity will help students gain experience reading and writing in shorthand code."