Theory for programmers. Introduction to programming and computability theory based on a …
Theory for programmers. Introduction to programming and computability theory based on a term-rewriting, "substitution" model of computation by Scheme programs with side-effects. Computation as algebraic manipulation: provable and valid inequalities for multivariate polynomials. Scheme evaluation as algebraic manipulation and term rewriting theory. Paradoxes from self-application and introduction to formal programming semantics. Undecidability of the Halting Problem for Scheme. Properties of recursively enumerable sets, leading to Incompleteness Theorems for Scheme equivalences. Introduction to logic for program specification and verification. Hilbert's Tenth Problem. Alternate years. 6.844 is a graduate introduction to programming theory, logic of programming, and computability, with the programming language Scheme used to crystallize computability constructions and as an object of study itself. Topics covered include: programming and computability theory based on a term-rewriting, "substitution" model of computation by Scheme programs with side-effects; computation as algebraic manipulation: Scheme evaluation as algebraic manipulation and term rewriting theory; paradoxes from self-application and introduction to formal programming semantics; undecidability of the Halting Problem for Scheme; properties of recursively enumerable sets, leading to Incompleteness Theorems for Scheme equivalences; logic for program specification and verification; and Hilbert's Tenth Problem.
" 6.004 offers an introduction to the engineering of digital systems. Starting …
" 6.004 offers an introduction to the engineering of digital systems. Starting with MOS transistors, the course develops a series of building blocks ŰÓ logic gates, combinational and sequential circuits, finite-state machines, computers and finally complete systems. Both hardware and software mechanisms are explored through a series of design examples. 6.004 is required material for any EECS undergraduate who wants to understand (and ultimately design) digital systems. A good grasp of the material is essential for later courses in digital design, computer architecture and systems. The problem sets and lab exercises are intended to give students "hands-on" experience in designing digital systems; each student completes a gate-level design for a reduced instruction set computer (RISC) processor during the semester."
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?
Introduces design as a computational enterprise in which rules are developed to …
Introduces design as a computational enterprise in which rules are developed to compose and describe architectural and other designs. The class covers topics such as shapes, shape arithmetic, symmetry, spatial relations, shape computations, and shape grammars. It focuses on the application of shape grammars in creative design, and teaches shape grammar fundamentals through in-class, hands-on exercises with abstract shape grammars. The class discusses issues related to practical applications of shape grammars.
Why has it been easier to develop a vaccine to eliminate polio …
Why has it been easier to develop a vaccine to eliminate polio than to control influenza or AIDS? Has there been natural selection for a 'language gene'? Why are there no animals with wheels? When does 'maximizing fitness' lead to evolutionary extinction? How are sex and parasites related? Why don't snakes eat grass? Why don't we have eyes in the back of our heads? How does modern genomics illustrate and challenge the field? This course analyzes evolution from a computational, modeling, and engineering perspective. The course has extensive hands-on laboratory exercises in model-building and analyzing evolutionary data.
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.
This course is a graduate level introduction to automatic discourse processing. The …
This course is a graduate level introduction to automatic discourse processing. The emphasis will be on methods and models that have applicability to natural language and speech processing. The class will cover the following topics: discourse structure, models of coherence and cohesion, plan recognition algorithms, and text segmentation. We will study symbolic as well as machine learning methods for discourse analysis. We will also discuss the use of these methods in a variety of applications ranging from dialogue systems to automatic essay writing. This subject qualifies as an Artificial Intelligence and Applications concentration subject.
In this lesson, students will learn the steps involved in computational thinking. …
In this lesson, students will learn the steps involved in computational thinking. Decomposition, pattern matching, abstraction, and algorithms are all steps that make up the computational thinking process. This process is used in many learning subjects and in real-life learning. Learners discover how understanding each step can help them as a learner and also nurture a growth mindset.
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.
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.