Engineering and Technology
Learn how to model problems, and how to optimize performance by using some of the advanced features of Python.
The course Design of Computer Programs on Udacity covers a range of topics related to designing and developing computer programs. It starts with discussing the steps of the design process and emphasizes the importance of clarity and generality in program development. The course also explores arguments for program correctness and the use of experimentation and simulation. Design tradeoffs, such as simplicity and clarity, are examined, along with concepts like decomposition and composability. The course then delves into back of the envelope calculations, teaching when to use brute force and when to be clever. It uses examples like the Zebra puzzle to demonstrate the use of generator expressions, permutations, and combinations. The topic of cryptarithmetic is covered, including recursive and wishful thinking, as well as the longest palindrome substring algorithm. Regular expressions and their interpretation are discussed, along with the use of other languages and interpreters. The course also addresses dealing with complexity through search, analyzing algorithm efficiency, and matching data types with algorithms using recurrence relations. Dealing with uncertainty through probability is explored, using the game of Pig as an example and discussing how to maximize expected utility to optimize strategy. Word games are used to teach managing complexity and appropriate data structures. The course concludes with interviews and a practice exam.
by Udacity
Learn how to model problems, and how to optimize performance by using some of the advanced features...
by Udacity
This is an advanced Computer Networking course that delves into the latest concepts and tools used b...
by Udacity
Learn how to find and exploit vulnerabilities, design and execute penetration testing plans, and rep...
by Udacity
This course is an introductory course on human-computer interaction, covering the principles, techni...
by Udacity
In this short course, learn the fundamentals of MapReduce and Apache Hadoop to start making sense of...
by Udacity
Software Architecture and Design teaches the principles and concepts involved in the analysis and de...
by Udacity
This course takes a holistic view of the embedded system stack focusing on processor architectures,...
by Udacity
Discover how data visualization can communicate insights far more effectively than text or tables.
by Udacity
Develop CI/CD systems that automate the processes bridging the gap between developers and the cloud...
by Udacity
Turn an idea into reality. By the end of this course, you’ll learn how to bring an idea from concept...