starstarstarstar_half star_border
This course represents an introduction to computational geometry – a branch of algorithm theory that aims at solving problems about geometric objects. Its application areas include computer graphics, computer-aided design and geographic information systems, robotics, and many others. You will learn to apply to this end various algorithmic approaches, and asses their strong and weak points in a particular context, thus gaining an ability to choose the most appropriate method for a concrete problem. We will cover a number of core computational geometry tasks, such as testing point inclusion in a polygon, computing the convex hull of a point set, intersecting line segments, triangulating a polygon, and processing orthogonal range queries. Special attention will be paid to a proper representation of geometric primitives and evaluation of geometric predicates, which are crucial for an efficient implementation of an algorithm. Each module includes a selection of programming tasks that will help you both to strengthen the newly acquired knowledge and improve your competitive coding skills.
    starstarstarstarstar_half
    本課程分為人工智慧(上)、人工智慧(下)兩部份,第一部分除了人工智慧概論外,著重在目標搜尋、meta heuristic、電腦對弈、演繹學習(包含證言邏輯、一階邏輯及 planning )等技術。這些技術主要發展時機為人工智慧的第一波及第二波熱潮,也就是 1950 年代至 1990 年代附近的主流發展,即使到現在也在各個領域廣為應用。 課程教學目標: 使同學對人工智慧有基礎概念 同學能夠理解如何運用目標搜尋技術及演繹學習方式達成人工智慧 同學能將相關技術應用到自己的問題上
      starstarstarstarstar_border
      In this course, we will explore how individual problem solving, judgment, and decision making can be influenced by interpersonal and developmental factors.
        star_border star_border star_border star_border star_border
        Apply what you have learned about cryptography and hashing in previous blockchain to the Merkle Tree, which underlies the process of adding new blocks — representing new transactions — to the blockchain. This course also introduces the concepts of proof of work and proof of stake, which play an important part in ensuring the integrity of the blockchain. This course requires the purchase of two books for the completion of assignments: Drescher, D. (2017). Blockchain Basics: A Non-Technical Introduction in 25 Steps. (ISBN-13: 978-1484226032) Antonoupoulos, A. M. (2017). The Internet of Money, Volume Two. (ISBN-13: 978-1947910065)
          starstarstarstarstar_half
          Updated in November 2018 with brand new section on Dynamic Programming! This course crams months of computer science and interview prep material into 20 hours of video. The content is based directly on last semester of my in-person coding bootcamps , where my students go on to land 6-figure developer jobs . I cover the exact same computer science content that has helped my students ace interviews at huge companies like Google, Tesla, Amazon , and Facebook . Nothing is watered down for an online audience; this is the real deal :)   We start with the basics and then eventually cover “advanced topics” that similar courses shy away from like Heaps, Graphs , and Dijkstra’s Shortest Path Algorithm . I start by teaching you how to analyze your code’s time and space complexity using Big O notation .  We cover the ins and outs of Recursion .  We learn a 5-step approach to solving any difficult coding problem. We cover common programming patterns. We implement popular searching algorithms . We write 6 different sorting algorithms : Bubble, Selection, Insertion, Quick, Merge, and Radix Sort.   Then, we switch gears and implement our own data structures from scratch, including linked lists, trees, heaps, hash tables , and graphs .  We learn to traverse trees and graphs, and cover Dijkstra's Shortest Path Algorithm .  The course also includes an entire section devoted to Dynamic Programming . Here's why this course is worth your time: It's interactive -  I give you a chance to try every problem before I show you my solution. Every single problem has a complete solution walkthrough video as well as accompanying solution file. I cover helpful "tips and tricks" to solve common problems, but we also focus on building an approach to ANY problem. It's full of animations and beautiful diagrams! Are you looking to level-up your developer skills? Sign up today!
            starstarstarstarstar_border
            "Excellent! Thank you for all your hard work." - Mammoth Interactive student Inderpal "Great! Well explained and the instructor provides clear examples" - Mark T. Dive into a world of data science and analysis with a wide range of examples including the CIFAR 100 image dataset, Xcode development for Apple, Swift coding, CoreML, image recognition, and structuring data with pandas. This Mammoth Interactive course was funded by a #1 project on Kickstarter Learn Android Studio, Java, app development, Pycharm, Python coding, Tensforflow and more with Mammoth Interactive. Build advanced projects using machine learning including advanced the MNIST database with neuron functions. Build a text summarizer and learn object localization, object recognition and Tensorboard. Machine learning is a machine’s ability to make decisions or predictions based on previous exposure to data and extensive training. In other words, if a machine (program, app, etc.) improves its prediction accuracy through training then it has “learned”. Learn How Models Work Computational graphs consist of a network of connected nodes (often called neurons). Each of these nodes typically has a weight and a bias that helps determine, given an input, which path is the most likely. There are 4 main components to building a machine learning program: data gathering and formatting, model building, training, and testing and evaluating Data Gathering and Formatting You will learn to gather plenty of data for the model to learn from. All data should be formatted pretty much the same (images same size, same color scheme, etc.) and should be labelled. Also divide data into mutually exclusive training and testing sets. Model Building You will learn to figure out which kind of model scheme works best and what kinds of algorithms work best for the problem you’re trying to solve. Training, Testing and Evaluating The model can choose paths through the neural network or computational graph based upon the inputs for a particular run, as well as the weights and biases of neurons in the network. In supervised learning, we show the model what the correct outputs are for a given set of inputs and the model alters the weights and biases of neurons to minimize the difference between its output and the correct answer. Enroll Now to Learn with Mammoth Interactive
              starstarstarstarstar_half
              Computational thinking is the process of approaching a problem in a systematic manner and creating and expressing a solution such that it can be carried out by a computer. But you don't need to be a computer scientist to think like a computer scientist! In fact, we encourage students from any field of study to take this course. Many quantitative and data-centric problems can be solved using computational thinking and an understanding of computational thinking will give you a foundation for solving problems that have real-world, social impact. In this course, you will learn about the pillars of computational thinking, how computer scientists develop and analyze algorithms, and how solutions can be realized on a computer using the Python programming language. By the end of the course, you will be able to develop an algorithm and express it to the computer by writing a simple Python program. This course will introduce you to people from diverse professions who use computational thinking to solve problems. You will engage with a unique community of analytical thinkers and be encouraged to consider how you can make a positive social impact through computational thinking.
                starstarstarstarstar_half
                Programming is an increasingly important skill, whether you aspire to a career in software development, or in other fields. This course is the first in the specialization Introduction to Programming in C, but its lessons extend to any language you might want to learn. This is because programming is fundamentally about figuring out how to solve a class of problems and writing the algorithm, a clear set of steps to solve any problem in its class. This course will introduce you to a powerful problem-solving process—the Seven Steps—which you can use to solve any programming problem. In this course, you will learn how to develop an algorithm, then progress to reading code and understanding how programming concepts relate to algorithms.
                  starstarstarstarstar_half
                  Counting is one of the basic mathematically related tasks we encounter on a day to day basis. The main question here is the following. If we need to count something, can we do anything better than just counting all objects one by one? Do we need to create a list of all phone numbers to ensure that there are enough phone numbers for everyone? Is there a way to tell that our algorithm will run in a reasonable time before implementing and actually running it? All these questions are addressed by a mathematical field called Combinatorics. In this course we discuss most standard combinatorial settings that can help to answer questions of this type. We will especially concentrate on developing the ability to distinguish these settings in real life and algorithmic problems. This will help the learner to actually implement new knowledge. Apart from that we will discuss recursive technique for counting that is important for algorithmic implementations. One of the main `consumers’ of Combinatorics is Probability Theory. This area is connected with numerous sides of life, on one hand being an important concept in everyday life and on the other hand being an indispensable tool in such modern and important fields as Statistics and Machine Learning. In this course we will concentrate on providing the working knowledge of basics of probability and a good intuition in this area. The practice shows that such an intuition is not easy to develop. In the end of the course we will create a program that successfully plays a tricky and very counterintuitive dice game. As prerequisites we assume only basic math (e.g., we expect you to know what is a square or how to add fractions), basic programming in python (functions, loops, recursion), common sense and curiosity. Our intended audience are all people that work or plan to work in IT, starting from motivated high school students.
                    starstarstarstar_half star_border
                    This course is for all those people who want to learn data structure and Algorithm from absolute basic to Intermediate level. We don't expect you to have any prior knowledge on Data Structure or Algorithm, but a basic prior knowledge of any Programming Language(preferably C++) will be helpful. Thanks for stopping by !