Free Online Computer Science Courses

If computers are your forte and you want to strengthen your skills or expand what you're capable of, these free online courses could be the best way forward. In this section you will find everything from computer animation to e-commerce to mathematics for computer science - and much more!

A Gentle Introduction to Programming Using Python - MIT

This course will provide a gentle introduction to programming using Python™ for highly motivated students with little or no prior experience in programming computers. The course will focus on planning and organizing programs, as well as the grammar of the Python programming language. Lectures will be interactive featuring in-class exercises with lots of support from the course staff.

Accessibility in Interaction Design - The Open University

Technology is opening doors for those with disabilities. Being blind or deaf is now far less of a barrier than it was fifty years ago. This unit assesses various disabilities and describes how they might affect a person's use of interactive devices. You will then look at some of the most common assistive technologies and discuss the requirements that each disability group might have for computers, and for other interactive products.

Acoustics of Speech and Hearing - MIT

The Acoustics of Speech and Hearing is an H-Level graduate course that reviews the physical processes involved in the production, propagation and reception of human speech. Particular attention is paid to how the acoustics and mechanics of the speech and auditory system define what sounds we are capable of producing and what sounds we can sense. Areas of discussion include:

Advanced Algorithms - MIT

This course is a first-year graduate course in algorithms. Emphasis is placed on fundamental algorithms and advanced methods of algorithmic design, analysis, and implementation. Techniques to be covered include amortization, randomization, fingerprinting, word-level parallelism, bit scaling, dynamic programming, network flow, linear programming, fixed-parameter algorithms, and approximation algorithms. Domains include string algorithms, network optimization, parallel algorithms, computational geometry, online algorithms, external memory, cache, and streaming algorithms, and data structures.

Advanced Circuit Techniques - MIT

Following a brief classroom discussion of relevant principles, each student in this course 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 assignments emphasize the use of modern analog building blocks. This course is worth 12 Engineering Design Points.

Advanced Complexity Theory - MIT

The topics for this course cover various aspects of complexity theory, such as the basic time and space classes, the polynomial-time hierarchy and the randomized classes . This is a pure theory class, so no applications were involved.

Advanced Electromagnetism - MIT

In 6.635, topics 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, random media, Green's functions for planarly layered media, integral equations in electromagnetics, method of moments, time domain method of moments, EM waves in periodic structures: photonic crystals and negative refraction.

Advanced Natural Language Processing - MIT

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.

Advanced Topics in Cryptography - MIT

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.

Algebraic Techniques and Semidefinite Optimization - MIT

This research-oriented course will focus on algebraic and computational techniques for optimization problems involving polynomial equations and inequalities with particular emphasis on the connections with semidefinite optimization. The course will develop in a parallel fashion several algebraic and numerical approaches to polynomial systems, with a view towards methods that simultaneously incorporate both elements. We will study both the complex and real cases, developing techniques of general applicability, and stressing convexity-based ideas, complexity results, and efficient implementations. Although we will use examples from several engineering areas, particular emphasis will be given to those arising from systems and control applications.

Algorithms for Computational Biology - MIT

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.

Algorithms for Computer Animation - MIT

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 Data and Information - The Open University

Ever wondered how a computer processes data into information? This unit will help you to understand the distinction between the two and examines how a computer-based society impacts on daily life. You will learn what computers can do with data to produce information and how computers can be used to work with data and search for it, control machines, and support commercial operations.

An Introduction to e-commerce and Distributed Applications - The Open University

What is 'e-commerce'? This unit will look at typical application areas including the internet, supply chain management and online auctions. It will also help you to understand the underlying technologies used to implement e-commerce applications before looking at some of the problems that can be encountered when developing distributed e-commerce systems.

An Introduction to Information Security - The Open University

Headline news scares about stolen or missing data are becoming a frequent occurrence as organisations rely more and more heavily on computers to store sensitive corporate and customer information. This unit discusses the importance of protecting information and gives an overview of information security management systems.

Analysis and Design of Digital Integrated Circuits - MIT

Examines the device and circuit level optimization of digital building blocks. Topics covered include: MOS device models including Deep Sub-Micron effects; circuit design styles for logic, arithmetic and sequential blocks; estimation and minimization of energy consumption; interconnect models and parasitics; device sizing and logical effort; timing issues (clock skew and jitter) and active clock distribution techniques; memory architectures, circuits (sense amplifiers) and devices; testing of integrated circuits. The course employs extensive use of circuit layout and SPICE in design projects and software labs.

Applied Parallel Computing - MIT

Applied Parallel Computing is an advanced interdisciplinary introduction to applied parallel computing on modern supercomputers.

Applied Quantum and Statistical Physics - MIT

Offered under the department's "Devices, Circuits, and Systems" concentration. The course covers concepts in elementary quantum mechanics and statistical physics, introduces applied quantum physics, and emphasizes an experimental basis for quantum mechanics. Concepts covered include: Schrodinger's equation applied to the free particle, tunneling, the harmonic oscillator, and hydrogen atom, variational methods, Fermi-Dirac, Bose-Einstein, and Boltzmann distribution functions, and simple models for metals, semiconductors, and devices such as electron microscopes, scanning tunneling microscope, thermonic emitters, atomic force microscope, and others.

Applied Superconductivity - MIT

This course provides a phenomenological approach to superconductivity, with emphasis on superconducting electronics. Topics include: electrodynamics of superconductors, London's model, flux quantization, Josephson Junctions, superconducting quantum devices, equivalent circuits, high-speed superconducting electronics, and quantized circuits for quantum computing. The course also provides an overview of type II superconductors, critical magnetic fields, pinning, the critical state model, superconducting materials, and microscopic theory of superconductivity.

Artifical Intelligence - MIT

This course introduces representations, techniques, and architectures used to build applied systems and to account for intelligence from a computational point of view. This course also explores applications of rule chaining, heuristic search, logic, constraint propagation, constrained search, and other problem-solving paradigms. In addition, it covers applications of decision trees, neural nets, SVMs and other learning paradigms.

Artificial Intelligence - UMass Boston

An introduction to the main techniques of Artificial 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 language.

Artificial Intelligence - Dixie State

Upper level course for students in computer science and computer and information technologies programs. This course covers the basics of Artificial Intelligence in computer software. The course introduces the broad field of AI, then specializes in AI as it applies to computer gaming strategies. Students will be required to complete several programming assignments.

Automatic Speech Recognition - MIT

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.

Autonomous Robot Design Competition - MIT

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 Design and Manufacturing I (2.007), 6.270 robots are totally autonomous, so once a round begins, there is no human intervention.

Bioinformatics and Proteomics - MIT

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.

Biomedical Devices Design Laboratory - MIT

This course provides intensive coverage of the theory and practice of electromechanical instrument design with application to biomedical devices. Students will work with MGH doctors to develop new medical products from concept to prototype development and testing. Lectures will present techniques for designing electronic circuits as part of complete sensor systems. Topics covered include: basic electronics circuits, principles of accuracy, op amp circuits, analog signal conditioning, power supplies, microprocessors, wireless communications, sensors, and sensor interface circuits. Labs will cover practical printed circuit board (PCB) design including component selection, PCB layout, assembly, and planning and budgeting for large projects. Problem sets and labs in the first six weeks are in support of the project. Major team-based design, build, and test project in the last six weeks. Student teams will be composed of both electrical engineering and mechanical engineering students.

Biomedical Signal and Image Processing - MIT

This course presents the fundamentals of digital signal processing with particular emphasis on problems in biomedical research and clinical medicine. It covers principles and algorithms for processing both deterministic and random signals. Topics include data acquisition, imaging, filtering, coding, feature extraction, and modeling. The focus of the course is a series of labs that provide practical experience in processing physiological data, with examples from cardiology, speech processing, and medical imaging. The labs are done in MATLAB™ during weekly lab sessions that take place in an electronic classroom. Lectures cover signal processing topics relevant to the lab exercises, as well as background on the biological signals processed in the labs.

Breadth Topics in Computing Science - Capilano University

While learning to program is an important part of understanding how computer systems work, and serves to develop good problem solving and design skills, students will gain a deeper understanding and appreciation for the course material with some basic knowledge of how computer systems work. This will provide context and structure for the primary lessons on programming and software design.

Building Program Experience: A Lead-In to 6.001 - MIT

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 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.

Applied Multimedia Technology - University of Notre Dame

This course explores the use of multimedia in communicating information and solving problems. Using Adobe Flash and other tools, students create materials that incorporate text, animation, images, sound, and video. An overarching theme is appreciation of four dimensions of multimedia: content, aesthetics, functionality, and usability. The course also aims to equip students with strategies for enhancing their skills after the semester ends.

Circuits and Electronics - MIT

Designed to serve as a first course in an undergraduate electrical engineering (EE), or electrical engineering and computer science (EECS) curriculum. At MIT, 6.002 is in the core of department subjects required for all undergraduates in EECS.

Cognitive Robotics - MIT

Cognitive robotics addresses the emerging field of autonomous systems possessing artificial reasoning skills. Successfully-applied algorithms and autonomy models form the basis for study, and provide students an opportunity to design such a system as part of their class project. Theory and application are linked through discussion of real systems such as the Mars Exploration Rover.

Communication System Design - MIT

This course presents a top-down approach to communications system design. The course will cover communication theory, algorithms and implementation architectures for essential blocks in modern physical-layer communication systems (coders and decoders, filters, multi-tone modulation, synchronization sub-systems). The course is hands-on, with a project component serving as a vehicle for study of different communication techniques, architectures and implementations. This year, the project is focused on WLAN transceivers. At the end of the course, students will have gone through the complete WLAN System-On-a-Chip design process, from communication theory, through algorithm and architecture all the way to the synthesized standard-cell RTL chip representation.

Communication Systems I-4660 - Utah State

The first portion of the class will cover topics in analog communication. Beginning with basic Fourier transform properties, techniques for analog modulation and demodulation will be developed. Insights to these problems will be uncovered along the way. The majority of this course will be devoted digital communication.

Communication Systems 1-5660 - Utah State

The first portion of the class will cover topics in analog communication. Beginning with basic Fourier transform properties, techniques for analog modulation and demodulation will be developed. Insights to these problems will be uncovered along the way. The rest of the course will be devoted digital communication.

Communication, Technology and Policy - University of Southern Queensland

Technological change has had major impacts upon the modes of transmission, processing and storage of information and electronic forms of communication. This course explores the social and policy implications of the digitisation of Australian (and international) telecommunications and broadcasting. Specific policy and technology themes and debates will be selected to illustrate the choices facing the information society. The course will also examine media discourses of communication technology.

Communications and Information Policy - MIT

This course provides an introduction to the technology and policy context of public communications networks, through critical discussion of current issues in communications policy and their historical roots. The course focuses on underlying rationales and models for government involvement and the complex dynamics introduced by co-evolving technologies, industry structure, and public policy objectives. Cases drawn from cellular, fixed-line, and Internet applications include evolution of spectrum policy and current proposals for reform; the migration to broadband and implications for universal service policies; and property rights associated with digital content. The course lays a foundation for thesis research in this domain.

Programming with Robots - Capilano University

From Issac Asimov's I Robot to George Lucas' R2D2, robots have been part of our popular culture for the last century. In this introductory programming course, we use Lego Mindstorm robots to illustrate the fundamental concepts in computer programming and problem solving. Students get a chance to explore Robotics and Computing Science in a fun and stimulating way.

Complex Digital Systems - MIT

This course is offered to graduates and is a project-oriented course to teach new methodologies for designing multi-million-gate CMOS VLSI chips using high-level synthesis tools in conjunction with standard commercial EDA tools. The emphasis is on modular and robust designs, reusable modules, correctness by construction, architectural exploration, and meeting the area, timing, and power constraints within standard cell and FPGA frameworks.

Compound Semiconductor Devices - MIT

This course outlines the physics, modeling, application, and technology of compound semiconductors (primarily III-Vs) in electronic, optoelectronic, and photonic devices and integrated circuits. Topics include: properties, preparation, and processing of compound semiconductors; theory and practice of heterojunctions, quantum structures, and pseudomorphic strained layers; metal-semiconductor field effect transistors (MESFETs); heterojunction field effect transistors (HFETs) and bipolar transistors (HBTs); photodiodes, vertical-and in-plane-cavity laser diodes, and other optoelectronic devices.

Computability Theory of and with Scheme - MIT

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.

Computational Biology: Genomes, Networks, Evolution - MIT

This course focuses on the algorithmic and machine learning foundations of computational biology, combining theory with practice. We study the principles of algorithm design for biological datasets, and analyze influential problems and techniques. We use these to analyze real datasets from large-scale studies in genomics and proteomics.

Computational Cognitive Science - MIT

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?

Computational Evolutionary Biology - MIT

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?

Computational Functional Genomics - MIT

The course focuses on casting contemporary problems in systems biology and functional genomics in computational terms and providing appropriate tools and methods to solve them. Topics include genome structure and function, transcriptional regulation, and stem cell biology in particular; measurement technologies such as microarrays (expression, protein-DNA interactions, chromatin structure); statistical data analysis, predictive and causal inference, and experiment design. The emphasis is on coupling problem structures (biological questions) with appropriate computational approaches.

Computational Models of Discourse - MIT

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.

Computer Graphics - MIT

Offers an introduction to computer graphics hardware, algorithms, and software. Topics include: line generators, affine transformations, line and polygon clipping, splines, interactive techniques, perspective projection, solid modeling, hidden surface algorithms, lighting models, shading, and animation. Substantial programming experience is required. This course is worth 6 Engineering Design Points.

Computer Language Engineering - MIT

A course within the department's "Computer Systems and Architecture" concentration. This course analyzes issues associated with the implementation of high-level programming languages. Topics covered include: fundamental concepts, functions, and structures of compilers, basic program optimization techniques, the interaction of theory and practice, and using tools in building software. The course features a multi-person project on design and implementation of a compiler that is written in Java® and generates MIPS executable machine code. This course is worth 8 Engineering Design Points.

Computer Networks - MIT

How does the global network infrastructure work and what are the design principles on which it is based? In what ways are these design principles compromised in practice? How do we make it work better in today's world? How do we ensure that it will work well in the future in the face of rapidly growing scale and heterogeneity? And how should Internet applications be written, so they can obtain the best possible performance both for themselves and for others using the infrastructure? These are some issues that are grappled with in this course. The course will focus on the design, implementation, analysis, and evaluation of large-scale networked systems.

Computer System Architecture - MIT

A course in the department's "Computer Systems and Architecture" concentration. 6.823 is a study of the evolution of computer architecture and the factors influencing the design of hardware and software elements of computer systems. Topics may include: instruction set design; processor micro-architecture and pipelining; cache and virtual memory organizations; protection and sharing; I/O and interrupts; in-order and out-of-order superscalar architectures; VLIW machines; vector supercomputers; multithreaded architectures; symmetric multiprocessors; and parallel computers.

Computers and Computer Systems -

Computers and processors are ubiquitous in everyday life, and they're not only found in your PC. This unit introduces the different parts of computer systems and their use of binary code. Using the examples of kitchen scales, a digital camera and a computer artwork the unit, with the help of flowcharts, discusses how computers process data and instructions .

Control of Manufacturing Processes - MIT

This course explores statistical modeling and control in manufacturing processes. Topics include the use of experimental design and response surface modeling to understand manufacturing process physics, as well as defect and parametric yield modeling and optimization. Various forms of process control, including statistical process control, run by run and adaptive control, and real-time feedback control, are covered. Application contexts include semiconductor manufacturing, conventional metal and polymer processing, and emerging micro-nano manufacturing processes.

Crossing the Boundary-Analogue Universe, Digital Worlds -

How does the computer's peculiar binary world of digital entities differ from our analogue world of colour, sound, taste and touch? This unit explores the way in which information, in the form of text, still and moving images, and sound can cross the boundary from the analogue universe into a digital world.

Cryptography and Cryptanalysis - MIT

This course features a rigorous introduction to modern cryptography, with an emphasis on the fundamental cryptographic primitives of public-key encryption, digital signatures, pseudo-random number generation, and basic protocols and their computational complexity requirements.

Data and Processes in Computing -

This unit will help you to understand the forms of data that are handled by software and look at the various processes that can be applied to the data. These ideas are demonstrated through the use of a supermarket till and illustrate how simple data sets can be manipulated.

Data Communication Networks - MIT

Focuses on the fundamentals of data communication networks. One goal is to give some insight into the rationale of why networks are structured the way they are today and to understand the issues facing the designers of next-generation data networks. Much of the course focuses on network algorithms and their performance. Students are expected to have a strong mathematical background and an understanding of probability theory. Topics discussed include: layered network architecture, Link Layer protocols, high-speed packet switching, queueing theory, Local Area Networks, and Wide Area Networking issues, including routing and flow control.

Design and Fabrication of Microelectromechanical Devices - MIT

An introduction to microsystem design. Topics covered include: material properties, microfabrication technologies, structural behavior, sensing methods, fluid flow, microscale transport, noise, and amplifiers feedback systems. Student teams design microsystems (sensors, actuators, and sensing/control systems) of a variety of types, (e.g., optical MEMS, bioMEMS, inertial sensors) to meet a set of performance specifications (e.g., sensitivity, signal-to-noise) using a realistic microfabrication process. There is an emphasis on modeling and simulation in the design process. Prior fabrication experience is desirable. The course is worth 4 Engineering Design Points.

Designing the User Interface: Text, Colour, Images, Moving Images and Sound - The Open University

Why is the way something looks important? Text, colour, images, moving images and sound all interact to produce a user friendly environment within a user interface. This unit will help you understand the effect each software component has on the user and explain how a consistent and thoughtful application of these components can have a significant impact on the 'look' of final product.

Development of Inventions and Creative Ideas - MIT

This course examines the role of the engineer as patent expert and as technical witness in court and patent interference and related proceedings. It discusses the rights and obligations of engineers in connection with educational institutions, government, and large and small businesses. It compares various manners of transplanting inventions into business operations, including development of New England and other U.S. electronics and biotechnology industries and their different types of institutions. The course also considers American systems of incentive to creativity apart from the patent laws in the atomic energy and space fields.

Discrete-Time Signal Processing - MIT

This class addresses the representation, analysis, and design of discrete time signals and systems. The major concepts covered include: Discrete-time processing of continuous-time signals; decimation, interpolation, and sampling rate conversion; flowgraph structures for DT systems; time-and frequency-domain design techniques for recursive (IIR) and non-recursive (FIR) filters; linear prediction; discrete Fourier transform, FFT algorithm; short-time Fourier analysis and filter banks; multirate techniques; Hilbert transforms; Cepstral analysis and various applications.

Distributed Algorithms - MIT

Distributed algorithms are algorithms designed to run on multiple processors, without tight centralized control. In general, they are harder to design and harder to understand than single-processor sequential algorithms. Distributed algorithms are used in many practical systems, ranging from large computer networks to multiprocessor shared-memory systems. They also have a rich theory, which forms the subject matter for this course.

Distributed Computer Systems Engineering - MIT

This course covers abstractions and implementation techniques for the design of distributed systems. Topics include: server design, network programming, naming, storage systems, security, and fault tolerance. The assigned readings for the course are from current literature. This course is worth 6 Engineering Design Points.

Distributed Paradigms - The Open University

This unit looks at some of the architectural and programming paradigms used in distributed system development. You will learn about synchronous and asynchronous message passing, distributed objects technology and event-based bus architecture, before finally moving on to tuple architecture.

Dynamics of Nonlinear Systems - MIT

This course provides an introduction to nonlinear deterministic dynamical systems. Topics covered include: nonlinear ordinary differential equations; planar autonomous systems; fundamental theory: Picard iteration, contraction mapping theorem, and Bellman-Gronwall lemma; stability of equilibria by Lyapunov's first and second methods; feedback linearization; and application to nonlinear circuits and control systems.

The Science of Sound - Utah State

The course consists of reading the text, supplementing concepts using the Internet, solving homework problems based on the reading, and taking exams over the internet. There are 8 modules representing 8 different aspects of sound.

Signals and Systems - Utah State

Systems realizations. Time and transform domain analysis of discrete-time systems. Vector-space concepts and Fourier series. Fourier transforms in continuous and discrete time. Some lab and computational work required.

Communication Systems I - Utah State

The first portion of the class will cover topics in analog communication. Beginning with basic Fourier transform properties, techniques for analog modulation and demodulation will be developed. Insights to these problems will be uncovered along the way. The rest of the course will be devoted digital communication.

Stochastic Processes - Utah State

This course provides an introduction to stochastic processes in communications, signal processing, digital and computer systems, and control. Topics include continuous and discrete random processes, correlation and power spectral density, optimal filtering, Markov chains, and queuing theory.

Error Control Coding - Utah State

We will explore the theoretical and historical motivation behind modern error control coding, particularly algebraic block coding. Linear codes, both block and convolutional, will be introduced, followed by a description of the algebraic tools necessary to describe and implement Reed-Solomon codes. Modern algrebraic concepts including Galois fields will be presented, along with circuit implementations. Also, convolutional codes and trellis-coded modulation will be covered, along with the Viterbi algorithm for decoding. Low-density parity check codes and Turbo codes will be covered, as time permits. Much of the learning will be expressed in formal (theorem/proof) format to develop rigor.

Information Theory - Utah State

Information theory explores the fundamental limits of the representation and transmission of information. We will focus on the definition and implications of (information) entropy, the source coding theorem, and the channel coding theorem. These concepts provide a vital background for researchers in the areas of data compression, signal processing, controls, and pattern recognition.

Electric Machines - MIT

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.

Electromagnetic Fields, Forces and Motion - MIT

Examines electric and magnetic quasistatic forms of Maxwell's equations applied to dielectric, conduction, and magnetization boundary value problems. Topics covered include: electromagnetic forces, force densities, and stress tensors, including magnetization and polarization; thermodynamics of electromagnetic fields, equations of motion, and energy conservation; applications to synchronous, induction, and commutator machines; sensors and transducers; microelectromechanical systems; propagation and stability of electromechanical waves; and charge transport phenomena.

Electromagnetic Wave Theory - MIT

A graduate subject on electromagnetic wave theory, emphasizing mathematical approaches, problem solving, and physical interpretation. Topics covered include: waves in media, equivalence principle, duality and complementarity, Huygens' principle, Fresnel and Fraunhofer diffraction, dyadic Green's functions, Lorentz transformation, and Maxwell-Minkowski theory. Examples deal with limiting cases of Maxwell's theory and diffraction and scattering of electromagnetic waves.

Electromagnetics - MIT

An introductory subject on electromagnetics, emphasizing fundamental concepts and applications of Maxwell equations. Topics covered include: polarization, dipole antennas, wireless communications, forces and energy, phase matching, dielectric waveguides and optical fibers, transmission line theory and circuit concepts, antennas, and equivalent principle. Examples deal with electrodynamics, propagation, guidance, and radiation of electromagnetic waves.

Electromagnetics and Applications - MIT

This course explores electromagnetic phenomena in modern applications, including wireless communications, circuits, computer interconnects and peripherals, optical fiber links and components, microwave communications and radar, antennas, sensors, micro-electromechanical systems, motors, and power generation and transmission. Fundamentals covered include: quasistatic and dynamic solutions to Maxwell's equations; waves, radiation, and diffraction; coupling to media and structures; guided and unguided waves; resonance; and forces, power, and energy.

Engineering Risk-Benefit Analysis - MIT

Emphasizes three methodologies - reliability and probabilistic risk assessment (RPRA), decision analysis (DA), and cost-benefit analysis (CBA). In this class, the issues of interest are: the risks associated with large engineering projects such as nuclear power reactors, the International Space Station, and critical infrastructures; the development of new products; the design of processes and operations with environmental externalities; and infrastructure renewal projects.

Error Control Coding - Utah State

We will explore the theoretical and historical motivation behind modern error control coding, particularly algebraic block coding. Linear codes, both block and convolutional, will be introduced, followed by a description of the algebraic tools necessary to describe and implement Reed-Solomon codes. Modern algrebraic concepts including Galois fields will be presented, along with circuit implementations. Also, convolutional codes and trellis-coded modulation will be covered, along with the Viterbi algorithm for decoding. Low-density parity check codes and Turbo codes will be covered, as time permits. Much of the learning will be expressed in formal (theorem/proof) format to develop rigor.

Essential Coding Theory - MIT

This course introduces the theory of error-correcting codes to computer scientists. This theory, dating back to the works of Shannon and Hamming from the late 40's, overflows with theorems, techniques, and notions of interest to theoretical computer scientists. The course will focus on results of asymptotic and algorithmic significance.

Ethics and the Law on the Electronic Frontier - MIT

This course considers the interaction between law, policy, and technology as they relate to the evolving controversies over control of the Internet. In addition, there will be an in-depth treatment of privacy and the notion of "transparency" -- regulations and technologies that govern the use of information, as well as access to information.

Fields, Forces and Flows in Biological Systems - MIT

This course covers the following topics: conduction, diffusion, convection in electrolytes; fields in heterogeneous media; electrical double layers; Maxwell stress tensor and electrical forces in physiological systems; and fluid and solid continua: equations of motion useful for porous, hydrated biological tissues. Case studies considered include membrane transport; electrode interfaces; electrical, mechanical, and chemical transduction in tissues; electrophoretic and electroosmotic flows; diffusion/reaction; and ECG. The course also examines electromechanical and physicochemical interactions in biomaterials and cells; orthopaedic, cardiovascular, and other clinical examples.

Finding Information in Information Technology and Computing - The Open University

The internet provides a world of information, but how do you find what you are looking for? This unit will help you discover the meaning of information quality and teach you how to evaluate the material you come across. You will learn how to plan your searches effectively and be able to experiment with some of the key resources in this area.

Foundations of Algorithms and Computational Techniques in Systems Biology - MIT

This subject describes and illustrates computational approaches to solving problems in systems biology. A series of case-studies will be explored that demonstrate how an effective match between the statement of a biological problem and the selection of an appropriate algorithm or computational technique can lead to fundamental advances. The subject will cover several discrete and numerical algorithms used in simulation, feature extraction, and optimization for molecular, network, and systems models in biology.

Fundamentals of Photonics: Quantum Electronics - MIT

This course explores the fundamentals of optical and optoelectronic phenomena and devices based on classical and quantum properties of radiation and matter culminating in lasers and applications. Fundamentals include: Maxwell's electromagnetic waves, resonators and beams, classical ray optics and optical systems, quantum theory of light, matter and its interaction, classical and quantum noise, lasers and laser dynamics, continuous wave and short pulse generation, light modulation; examples from integrated optics and semiconductor optoelectronics and nonlinear optics.

Global Issues in Information Technology - Weber State

While information technologies remain the same across national borders, their usage and context change according to country cultures and national laws. Features such as telecommunications infrastructure, languages, business practice, intellectual property protection, and tariffs impact the adoption of IT in a transnational organization. This course will make you aware of the issues, give you resources to make informed decisions and, in general, raise your global awareness.

Great Ideas in Theoretical Computer Science - MIT

This course provides a challenging introduction to some of the central ideas of theoretical computer science. It attempts to present a vision of "computer science beyond computers": that is, CS as a set of mathematical tools for understanding complex systems such as universes and minds. Beginning in antiquity-with Euclid's algorithm and other ancient examples of computational thinking-the course will progress rapidly through propositional logic, Turing machines and computability, finite automata, Gödel's theorems, efficient algorithms and reducibility, NP-completeness, the P versus NP problem, decision trees and other concrete computational models, the power of randomness, cryptography and one-way functions, computational theories of learning, interactive proofs, and quantum computing and the physical limits of computation. Class participation is essential, as the class will include discussion and debate about the implications of many of these ideas.

Hands-On Introduction to Electrical Engineering Lab Skills - MIT

This course introduces students to both passive and active electronic components (op-amps, 555 timers, TTL digital circuits). Basic analog and digital circuits and theory of operation are covered. The labs allow the students to master the use of electronic instruments and construct and/or solder several circuits. The labs also reinforce the concepts discussed in class with a hands-on approach and allow the students to gain significant experience with electrical instruments such as function generators, digital multimeters, oscilloscopes, logic analyzers and power supplies. In the last lab, the students build an electronic circuit that they can keep. The course is geared to freshmen and others who want an introduction to electronics circuits.

High Speed Communication Circuits and Systems - MIT

Covers circuit and system level design issues of high speed communication systems, with primary focus being placed on wireless and broadband data link applications. Specific circuit topics include transmission lines, high speed and low noise amplifiers, VCO's, and high speed digital circuits. Specific system topics include frequency synthesizers, clock and data recovery circuits, and GMSK transceivers. In addition to learning analysis skills for the above items, students will gain a significant amount of experience in simulating circuits in SPICE and systems in CppSim (a custom C++ simulator).

High Speed Communication Circuits - MIT

Covers circuit level design issues of high speed communication systems, with primary focus being placed on wireless and broadband data link applications. Specific circuit topics include transmission lines, high speed and low noise amplifiers, VCO's, mixers, power amps, high speed digital circuits, and frequency synthesizers. In addition to learning analysis skills for the above items, students will gain a significant amount of experience in simulating RF circuits in SPICE and also building RF circuits within a lab project.

HTML Basics - University of Washington

In this OpenUW course, we cover the basic structure of an HTML document, what HTML tags look like, the fundamental document structure, and basic tags found in nearly all HTML documents.

ICTs In Everyday Life - The Open University

We now live in a global village where distance in no longer a barrier to commercial or social contact. This unit will enable you to gain an understanding of the information and communication technologies that drive our networked world and how they now permeate our everyday lives.

ICTs: Device to Device Communication - The Open University

Are you a technophobe? Bluetooth, Ethernet WiFi - are they terms that mean nothing to you? This unit will gently guide you to an understanding of how devices 'talk' to each other and what technologies and processes are involved. You will also look at wired and wireless communication technologies, introducing you to some of the key methods involved.

ICTs: e-government - The Open University You can now access government directly through the web. E-government in action. While studying this unit you look at the scope of e-government, the databases that are necessary, the use of biometrics in identification and verification of identity and assess the usability and accessibility of websites.

ICTs: Information - The Open University

BBC News 24, Sky News, CNN - we live in an era where news has become almost instantaneous. This unit will look at how news is gathered and the technology used for its dissemination. You will also be encouraged to examine how information might be manipulated by questioning its reliability.

ICTs: Technology News - The Open University

To develop as an independent, confident learner you will need to learn the study skills involved in reading articles, taking notes and summarising the information that you have obtained from an article. The unit explores the use of the Web as a resource for keeping up to date, looking in particular at how to assess material available online.

Information and Entropy - MIT

This course explores the ultimate limits to communication and computation, with an emphasis on the physical nature of information and information processing. Topics include: information and computation, digital signals, codes and compression, applications such as biological representations of information, logic circuits, computer architectures, and algorithmic information, noise, probability, error correction, reversible and irreversible operations, physics of computation, and quantum computation. The concept of entropy applied to channel capacity and to the second law of thermodynamics.

Information on the Web - The Open University

The World Wide Web is a vast information resource. This unit will provide you with the foundation skills to use search engines confidently to locate both information and images on the Web. You will also learn how to critically assess and reference the information you have found for study purposes.

Information Theory - Utah State

Information theory explores the fundamental limits of the representation and transmission of information. We will focus on the definition and implications of (information) entropy, the source coding theorem, and the channel coding theorem. These concepts provide a vital background for researchers in the areas of data compression, signal processing, controls, and pattern recognition.

Flash - INST5270 - Utah State

This course familiarizes students with Macromedia Flash. Topics to be covered include fundamental programming concepts (variables, variable types, code re-use, commenting code, and basic control structures) in addition to the fundamentals of the flash environment (animation or "tweening", vector graphics, use of sound and video). Students finishing this course will have at least one completed fully functional Flash project for their portfolios demonstrating a strong knowledge of the tool and a good foundation in the ActionScript language as the tool and the language apply to instructional design.

The Lexicon and its Features - MIT

This course provides an overview of the distinctive features which distinguish sound categories of languages of the world. Theories which relate these categories to their acoustic and articulatory correlates, both universally and in particular languages, are covered. Models of word recognition by listeners, features, and phonological structure are also discussed. In addition, the course offers a variety of perspectives on these issues, drawn from Electrical Engineering, Linguistics and Cognitive Science.

The Structure of Engineering Revolutions - MIT

Provides an integrated approach to engineering practice in the real world. Students of 6.933J / STS.420J research the life cycle of a major engineering project, new technology, or startup company from multiple perspectives: technical, economic, political, and cultural. Research involves interviewing inventors, reading laboratory notebooks, evaluating patents, and looking over the shoulders of engineers as they developed today's technologies. This subject is for students who recognize that technical proficiency alone is only part of the formula for success in technology

Theory of Computation - MIT

This graduate level course is more extensive and theoretical treatment of the material in Computability, and Complexity (6.045J / 18.400J). Topics include Automata and Language Theory, Computability Theory, and Complexity Theory.

Theory of Parallel Hardware - MIT

Covers mathematical foundations of parallel hardware, from computer arithmetic to physical design, focusing on algorithmic underpinnings. Topics covered include: arithmetic circuits, parallel prefix, systolic arrays, retiming, clocking methodologies, boolean logic, sorting networks, interconnection networks, hypercubic networks, P-completeness, VLSI layout theory, reconfigurable wiring, fat-trees, and area-time complexity.

Theory of Parallel Systems - MIT

Covers theoretical foundations of general-purpose parallel computing systems, from languages to architecture. The focus is on the algorithmic underpinnings of parallel systems. The topics for the class will vary depending on student interest, but will likely include multithreading, synchronization, race detection, load balancing, memory consistency, routing networks, message-routing algorithms, and VLSI layout theory. The class will emphasize randomized algorithms and probabilistic analysis, including high-probability arguments.

Transcribing Prosodic Structure of Spoken Utterances with TobI - MIT

This course presents a tutorial on the ToBI (Tones and Break Indices) system, for labelling certain aspects of prosody in Mainstream American English (MAE-ToBI). The course is appropriate for undergrad or grad students with background in linguistics (phonology or phonetics), cognitive psychology (psycholinguistics), speech acoustics or music, who wish to learn about the prosody of speech, i.e. the intonation, rhythm, grouping and prominence patterns of spoken utterances, prosodic differences that signal meaning and phonetic implementation.

Ultrafast Optics - MIT

This course is offered to graduate students and addresses issues regarding ultrafast optics. Topics covered include: Generation, propagation and applications of ultrashort pulses (nano-, pico-, femto-, attosecond pulses); Linear and nonlinear pulse shaping processes: Optical solitons, Pulse compression; Laser principles: Single- and multi-mode laser dynamics, Q-switching, Active and passive mode-locking; Pulse characterization: Autocorrelation, FROG, SPIDER; Noise in mode-locked lasers and its limitations in measurements; Laser amplifiers, optical parametric amplifiers, and oscillators; Applications in research and industry: Pump-probe techniques, Optical imaging, Frequency metrology, Laser ablation, High harmonic generation.

User Interface Design and Implementation - MIT

Introduces the principles of user interface development, focusing on three key areas: design, implementation and evaluation.

Web 2.0 - Weber State

This course delves into current developments in user behavior, use of existing technology, new technologies being pioneered, and recent online business models.

Back to Top