Online courses directory (548)
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.
Data structures play a central role in modern computer science. You interact with data structures even more often than with algorithms (think Google, your mail server, and even your network routers). In addition, data structures are essential building blocks in obtaining efficient algorithms. This course covers major results and current directions of research in data structure.
Acknowledgments
Thanks to videographers Martin Demaine and Justin Zhang.
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.
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.
The focus of the course is the concepts and techniques for solving the partial differential equations (PDE) that permeate various scientific disciplines. The emphasis is on nonlinear PDE. Applications include problems from fluid dynamics, electrical and mechanical engineering, materials science, quantum mechanics, etc.
This course covers concepts and techniques for the design and implementation of large software systems that can be adapted to uses not anticipated by the designer. Applications include compilers, computer-algebra systems, deductive systems, and some artificial intelligence applications. Topics include combinators, generic operations, pattern matching, pattern-directed invocation, rule systems, backtracking, dependencies, indeterminacy, memoization, constraint propagation, and incremental refinement. Substantial weekly programming assignments are an integral part of the subject.
There will be extensive programming assignments, using MIT/GNU Scheme. Students should have significant programming experience in Scheme, Common Lisp, Haskell, CAML or some other "functional" language.
Part 2 of the UC Berkeley Agile Development Using Ruby on Rails XSeries Program will teach you to use JavaScript to enhance applications and create more sophisticated apps by adding relationships between models within the Ruby on Rails framework. You will also learn about what happens after the apps are deployed to real users, including how to monitor performance, identify and fix common performance problems, and avoid compromising customer data. Finally, learners will see how to apply Agile techniques to enhance and refactor legacy code and practice app deployment to real users to monitor performance, identify and fix common performance problems, and avoid compromising customer data.
Other topics covered in this software engineering course include:
- How to form, organize and manage small programming teams
- Introduction to design patterns: what they are and how to recognize opportunities to apply them
- Using Rails for more advanced features like third-party authentication and elegantly expressing design patterns that arise frequently in SaaS
There will be four homework assignments: two programming assignments, an open source assignment and one assignment about operations/deployment. There will also be several short quizzes. The videos and homework assignments used in this offering of the course were revised in October 2016.
This intermediate computer programming course uncovers how to code long-lasting software using highly-productive Agile techniques to develop Software as a Service (SaaS) using Ruby on Rails. You will understand the new challenges and opportunities of SaaS versus shrink-wrapped software and learn to apply fundamental Rails programming techniques to the design, development, testing, and public cloud deployment of an Software as a Service (SaaS) application
Using best-of-breed tools that support modern development techniques including Behavior-Driven design, user stories, Test-Driven Development, velocity, and pair programming, learners will discover how modern programming language features in Ruby on Rails can improve productivity and code maintainability.
Weekly coding projects and quizzes will be part of the learning experience in this SaaS course. Those who successfully complete the assignments and earn a passing grade can get a verified certificate from BerkeleyX. The videos and homework assignments have been updated to use Ruby 2, Rails 4 and RSpec 3. The new class also includes embedded live chat with Teaching Assistants and other students and remote pair programming with other students.
Explores a variety of models and optimization techniques for the solution of airline schedule planning and operations problems. Schedule design, fleet assignment, aircraft maintenance routing, crew scheduling, passenger mix, and other topics are covered. Recent models and algorithms addressing issues of model integration, robustness, and operations recovery are introduced. Modeling and solution techniques designed specifically for large-scale problems, and state-of-the-art applications of these techniques to airline problems are detailed.
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.
Kursbeschreibung
Der Kurs führt in das zentrale Gebiet der Informatik ein, auf dem alle anderen Teilgebiete aufbauen: Wie entwickele ich Software? Anhand der Programmiersprache Java werden Algorithmen zum Suchen und Sortieren vorgestellt und die dazu benötigten Datenstrukturen wie Keller, Schlange, Liste, Baum und Graph eingeführt.
Was lerne ich in diesem Kurs?
Die Teilnehmer des Kurses werden in die Lage versetzt, eine Problemstellung auf maschinelle Lösbarkeit hin zu analysieren, dafür einen Algorithmus zu entwerfen, die zugehörigen Datenstrukturen zu wählen, daraus ein Java-Programm zu entwickeln und dieses zur Lösung des Problems einzusetzen.
Welche Vorkenntnisse benötige ich?
Mathematikkenntnisse auf Oberstufenniveau.
Kursplan
Kapitel | Thema |
---|---|
Kapitel 1 | Einführung |
Kapitel 2 | Systemumgebung |
Kapitel 3 | Java |
Kapitel 4 | Datentypen |
Kapitel 5 | Felder |
Kapitel 6 | Methoden |
Kapitel 7 | Rekursion |
Kapitel 8 | Komplexität |
Kapitel 9 | Sortieren |
Kapitel 10 | Objektorientierung |
Kapitel 11 | Abstrakte Datentypen |
Kapitel 12 | Suchbäume |
Kapitel 13 | Hashing |
Kapitel 14 | Graphen |
This course is organized around algorithmic issues that arise in machine learning. Modern machine learning systems are often built on top of algorithms that do not have provable guarantees, and it is the subject of debate when and why they work. In this class, we focus on designing algorithms whose performance we can rigorously analyze for fundamental machine learning problems.
Experienced Computer Scientists analyze and solve computational problems at a level of abstraction that is beyond that of any particular programming language. This class is designed to train students in the mathematical concepts and process of "Algorithmic Thinking", allowing them to build simpler, more efficient solutions to computational problems.
Algorithms power the biggest web companies and the most promising startups. Interviews at tech companies start with questions that probe for good algorithm thinking.
In this computer science course, you will learn how to think about algorithms and create them using sorting techniques such as quick sort and merge sort, and searching algorithms, median finding, and order statistics.
The course progresses with Numerical, String, and Geometric algorithms like Polynomial Multiplication, Matrix Operations, GCD, Pattern Matching, Subsequences, Sweep, and Convex Hull. It concludes with graph algorithms like shortest path and spanning tree.
Topics covered:
- Sorting and Searching
- Numerical Algorithms
- String Algorithms
- Geometric Algorithms
- Graph Algorithms
This course is part of the Fundamentals of Computer Science XSeries Program:
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.
This course covers the essential information that every serious programmer needs to know about algorithms and data structures, with emphasis on applications and scientific performance analysis of Java implementations. Part I covers basic iterable data types, sorting, and searching algorithms.
Trusted paper writing service WriteMyPaper.Today will write the papers of any difficulty.