Learn how to store and serve data with a real database, built in the Django framework for Python.
Server-side code is used to support modern web sites, providing functionality for apps like Uber and Google Maps. In this course, students explore the fundamentals of server-side web application programming. Years ago, websites were typically static - displaying unchanging information to the user accessing the website. This design paradigm allowed for limited functionality. With recent developments in web browser technology, websites have since shifted away from this design paradigm. This course aims to prepare students to design modern server-side web applications by learning the fundamentals of static web applications with a short introduction to more advanced and modern server-side programming concepts. By the end of this course, students will have built database servers which allow them to save data to a real database and serve data from their servers.
Dynamic Data: Your Second Website
Learn to store and serve data using an API server, built in the Django framework for Python.
Do you already know how to build a basic database server? In this course, we take what we learned from the Introductory Databases course and create a more complex backend. In the introductory course we explore code that allows us to serve HTML and CSS. This course extends this design paradigm to where the server now sends an application to the user and then sends specific data through a technique known as an AJAX Request. Students build an API server, which is an extension of the database server, to serve these AJAX Requests. This course acts as a foundation to industry standard web development where servers are capable of handling the more complex demands of a modern, dynamic website.
Static User Interfaces
Dynamic User Interfaces
Learn to create and present dynamic web content using the REACT framework
This course takes students with a working knowledge of HTML, CSS, and JS and introduces them to more advanced concepts in client-side web development. Sites like Facebook and Netflix play an important role in delivering large amounts of data to users in easily digestible, responsive formats. This course focuses on creating scalable, dynamic web content, based on user interaction and persistent data structures. Students learn how to use the REACT framework to build dynamic web pages and optimally process live changes to web content.
Gaming on the Web
Coding From Scratch
Learn how to build simple programs using a drag-and-drop programming language: Scratch.
Learn the fundamentals behind every programming language with Braincubator! Our "Coding from Scratch" workshop utilizes a drag-and-drop programming language known as Scratch which provides an easy platform for students to achieve a basic understanding of programming. We teach a common set of programming fundamentals that can be used to create a variety of different programs which focus on interactive arts, musical programs, games and stories.
Learn to solve problems with object-oriented programming using the Python language.
Python has become the first programming language for a whole generation of students. It’s simple syntax, extensive libraries, and expansive functionality make it the beginner’s language of choice. This course introduces students to the fundamentals of computer programming. We discuss the basics of computer hardware as a means of understanding how computers store and process information. Data structures, control structures, arithmetic operators, and conditional operators are each presented as fundamental building blocks of typical programs. Students learn to use these structures to develop increasingly complex algorithms and use computers to solve everyday problems.
Making Sense of Sensors
Learn about microcontrollers and their role in electrical systems by collecting data about the environment with various sensors.
A microcontroller is a hardware controller that lets you send out electrical signals or read in electrical signals. Microcontrollers form the foundational basis for how robots read in data about the environment and determine how to act accordingly. You might think of the microcontroller as the brain of the robot. In this course, we explore electrical circuits with these hardware controllers and program them to produce the desired behaviour. Some of our activities for this course include exploring the circuitry and programming for a traffic lights system, controlling motors and LEDs, and sending data to a display.
Autonomous Differential Drive Robots
Learn how to build a differential drive, autonomous two-wheeled robot.
This course introduces students to working with microcontrollers, DC motors, and sensors. We learn to read and interpret data an IR sensors in the construction of an autonomous, obstacle-avoidance robot. Students gradually increase the number of sensors on their robots as they discover their requirement in certain situations. By the course's end, students will have a robot which is capable of making decisions by considering information from several sensors.
Bluetooth Differential Drive Robots
Learn how to build a differential drive, Bluetooth controlled two-wheeled robot.
This course introduces students to working with microcontrollers, motors, and Bluetooth modules. We learn to send and read data from smartphones and Bluetooth modules in the construction of a remote controlled, differential drive robot. Time and skill permitting, we introduce sensors and control logic giving the robot a complementary intelligence to the controller's command.
Robots on 3
Learn how to build a differential drive, autonomous or Bluetooth controlled, three-wheeled robot.
This course is the advanced version of the two wheel robot built in either the Autonomous or Bluetooth 2 Wheel Robot course. This course explores similar technologies, using the same sensors and building the same types of robots. The difference is that these robots are more complex to build mechanically due to the use of multi-directional omni-wheels. This added complexity also appears in the programming element of this course, where additional logic needs to be employed to appropriately control the behavior of this robot.
Articulated Robotic Arms
This course teaches students about various concepts in physics,
In this course, students explore various concepts in physics, mechanical, and electrical engineering as they work towards building an articulated robotic arm of their own design. As with many of our robotics courses, the microcontroller is introduced as a means of controlling various motors, including servos and DC motors, in an attempt to control the precise movement the arm. User control is handled via Bluetooth, allowing the user to command their robot at a distance.
RWD Independent Suspension RC Robot
Learn about the major mechanical systems of a typical production vehicle and build these systems into a Bluetooth RC Robot