Adding abstraction and generative recursion to the design tools makes complex problems like puzzle solvers and graph search straightforward.
This programming course is unique in focusing on learning a design method rather than a programming language. This practical method builds on years of research into the structure of good programs that will help you channel your creativity to program well in any language.
A primary challenge in programming is deciding exactly what our program should do. The first contribution of the design method is a set of techniques that help you systematically develop your program requirements. You will also learn to produce programs with consistent structure that are easy to modify later. This is important because useful programs always require later improvements. In addition, you will learn how to make your programs more reliable by building tests as an integral part of the programming process.
This is a full university course broken into three parts:
In Part 1 you will learn the core design method with a focus on simple data. In this part of the course, we introduce the idea of structuring a program based on the data it consumes. This part concludes with the design of simple interactive programs. The final project is an interactive game.
In Part 2, the focus is on more elaborate forms of data that can be used for more complex information. You will learn when and how to structure data using lists and trees. The final project will be a more elaborate interactive game in which more complex data structures are required.
In Part 3 you will learn about search, generative recursion, graphs and how to blend different kinds of structuring patterns together in more complex programs. This part of the course concludes with a complex puzzle solving program project.
This course introduces you to the design and implementation of Android applications for mobile devices. You will build upon concepts from the prior course, including handling notifications, using multimedia and graphics and incorporating touch and gestures into your apps.
This course will introduce you to native software development on SAP HANA. SAP HANA is an in-memory data platform that is deployable as an appliance or in the cloud. At its core, it is an innovative in-memory relational database management system.
Ce cours introduit la programmation orientée objet (encapsulation, abstration, héritage, polymorphisme) en l'illustrant en langage Java. Il présuppose connues les bases de la programmation (variables, types, boucles, fonctions, ...). Il est conçu comme la suite du cours « Initiation à la programmation (en Java) ».
How do Java programs deal with vast quantities of data? Many of the data structures and algorithms that work with introductory toy examples break when applications process real, large data sets. Efficiency is critical, but how do we achieve it, and how do we even measure it? In this course, you will use and analyze data structures that are used in industry-level applications, such as linked lists, trees, and hashtables.
Cloud computing systems today, whether open-source or used inside companies, are built using a common set of core techniques, algorithms, and design philosophies—all centered around distributed systems. Learn about such fundamental distributed computing "concepts" for cloud computing.
Eduonix brings you a unique course that covers some of the most popular PHP frameworks in a single curriculum. You no longer have to refer to multiple books and resources to learn them as you can master them all here. You get to create ten different projects using using a different framework for each and will also help you identify the pros and cons of each of them. After this course you will be in a better position to decide which framework to choose for your next project. PHP is the most popular web programming language. Originally designed to handle simply the back-end process of webpages, PHP has now also evolved as a general-purpose programming language. This is a free course with a MOOC List coupon.
The course, lecture, and examples build on each other to teach the fundamentals of programming in general (logic, loops, functions, objects, classes) and also deals with advanced topics including multi-threading, events and signals. Throughout the course, students create meaningful and rewarding expressive digital “instruments” that make sound and music in direct response to program logic. The ChucK language provides precise high-level control over time, audio computation, and user interface elements (track pad, joysticks, etc.).
Today, we’re surrounded by digital technology. When we think about software, we often think of computers for writing email or surfing the internet. But software is everywhere! It’s in many of our household appliances and is used to manufacture many of our products such as our clothes. Maybe you enjoy using software, but why not start creating it for yourself? This course will get you started step-by-step.
HTML5 is one of the hot web technologies and is widely gaining acceptance across mobile and web. In our course you get a complete resource which can get you started on application development for HTML5. In our course you work on actual examples and go through important concepts required for through knowledge.