Modular Progression at a Glance

12 Modules


The introductory module provides students with the necessary concepts to get started with computer science. Fundamental topics like bits, bytes, data types, memory, communication, control flow, variables, and values are introduced and explained with examples. This module includes a variety of turtle practice exercises to reinforce the concepts learned throughout the module.

Values:

  • Students get equipped with the state of modern technology and become aware of computing history.
  • Students will learn the basics of programming, coding, and observe the corresponding computer response.
  • Students will learn to translate some real world problems into programming problems and improve their problem-solving skills while creating visuals using programming based on their imagination.
  • Students will realize a computer is like any other tool that can be mastered with practice.

This module is designed to provide students with the skills and knowledge necessary to develop Roblox games with the help of the Lua Programming Language. During this process, students learn how to do 3D modeling and scene graph designing, writing, testing, and debugging simple Lua scripts. At the end of the module, students will be ready to share, demonstrate, and play the games they designed.

Values:

  • Students will create a personalized world in a game that has 214 million monthly active users.
  • This play-oriented module will foster children’s engagement and enjoyment of the program.
  • Students will solve coding problems in a completely new programming language.
  • Students will get hands-on experience with 3D modeling while customizing their own game. Learning basic concepts of 3D modeling also enhances their skills in collaboration, development, training, simulation, and marketing.
  • After completing designing their first game in Roblox, students will be empowered to develop their own games independently, which can be shared with friends and family or played collaboratively.

This module teaches data structures and algorithms that are relevant for solving real world problems with programming and computers. Students will be able to identify appropriate algorithms given a problem and a scenario and write software to solve it. With the instilled problem solving skills, students will be ready to take coding interview challenges.

Values:

  • Big giants in technology like Google, Facebook, and Amazon hire programmers who are exceptionally good at optimizing algorithms. This module introduces concepts related to optimizing algorithms.
  • Data structures and algorithms play a crucial role in programming and are essential to solving real-world complex problems that can be applied to a wide range of situations.
  • All other modules of this program rely on this fundamental knowledge.

This module on Software Construction covers a wide range of topics related to software construction, systems, and data processing. It covers a variety of fundamental topics including data representations, the compilation process, memory hierarchies, instruction sets, file systems, ssh, processes, threads, logging, virtualization, bash, git, and data visualization.

Values:

  • Building large complex software requires mastery of a variety of tools. This module introduces many key concepts required for software development.
  • Students learn some of the basic building blocks necessary to understand Cloud computing and Cyber security, which are important areas of modern computing.
  • They will also learn a crucial aspect of computer science that focuses on functions and design of various components necessary to process information digitally, besides learning the various hardware and software systems underlying the functioning of machines.

Although the world wide web was invented for sharing files and documents, as of late it is being used for hosting interactive web-browser-based, machine-agnostic applications and we no longer need to download and run executables. This module teaches the technologies that enable us to develop such web applications. It also provides hands-on experience in creating basic web apps.

Values:

  • Students will understand the history and the current trends of the constantly changing field of web development.
  • Students will be able to create their own websites or web applications for personal or professional purposes.
  • The module will prepare students for diverse careers such as web developer, front-end developer, back-end developer, or full-stack developer.

Since the Web is a network of connected computers, this module first teaches how computers can communicate with each other. It builds upon Module 5 to teach more advanced technologies needed to develop web applications that require storage. It also provides hands-on experience in creating sophisticated, secure web apps and deploying them for the world to use.

Values:

  • Web development is a rapidly growing field, with an increasing demand for professionals who can create engaging and functional websites and web applications.
  • Students will learn to develop more sophisticated web applications and strengthen problem-solving and software engineering skills in the process.
  • By learning web programming, students will acquire a valuable skill set that is in high demand in the job market.

The module teaches the technology related to building modern computers. It focuses on the interface between software and hardware. It also introduces operating system (OS) concepts and how an OS provides an efficient interface for user application programs to access hardware resources.

Values:

  • In this module, students get a fundamental understanding of computers at the hardware level, and the interaction among hardware components when running programs. Students will also gain a deeper insight into the effect of hardware on the performance of software.
  • Students will learn to optimize code and improve the overall performance of computer systems.
  • Students will gain a deeper understanding of the fundamental concepts and principles behind the design and implementation of operating systems, and will be able to analyze and optimize system performance, troubleshoot problems, and design robust and secure systems.
  • They will also gain hands-on experience with the Linux operating system which is a high-demand skill for software professionals.
  • The module provides essential skills needed for software engineers, system administrators, and security professionals.

The module builds upon the concepts learned in Module 7. It teaches Operating System virtualization with industry standard tools like docker and Kubernetes. It covers cloud computing concepts with hands-on experience with AWS. It also focuses on building a computer from parts.

Values:

  • Students will learn about various cloud service providers, their plans, the current trend of businesses shifting to cloud-based technologies, and how to select the optimal ones. The knowledge and skills related to cloud computing taught in this module are currently in high demand.
  • Students will also be able to assemble their own low-cost computer from parts.
  • Skills learned in this module are essential for software engineers, system administrators, and security professionals. It will enhance the career prospects.

Applications of machine learning have started shaping the current computation infused economy, and our daily routines. This module prepares students for a deeper understanding of advanced ML. It introduces the motivation behind ML. It teaches the basic mathematics required to understand ML algorithms. It also provides hands-on programming experience with ML-related tools in the Python ecosystem.

Values:

  • The module teaches the fundamental concepts of machine learning and provides hands-on experience using popular machine learning tools and libraries that are being used in the industry.
  • Machine learning (ML) is one of the fastest growing fields affecting almost every industry and the demand for relevant professionals is high. This module enables students to acquire the skills necessary to apply ML techniques to their own projects.

This module builds on Module 9 to teach practical ML techniques that can be applied to real world datasets in multiple domains. The module covers a range of topics from linear classification and perceptrons to decision trees and random forests. It teaches the students to correctly apply ML, interpret results and refine the models. The highlight of the module is a real-world classification project on tabular data that allows students to apply the concepts they have learned in a practical setting.

Values:

  • Machine learning and data analysis are high-in-demand fields of expertise.
  • Students will be able to analyze real world datasets with sophisticated ML algorithms and make better decisions.
  • Students will have the necessary skill set to find an ML solution to a business problem and create their own startup based on it.

This module introduces computer vision and deep learning, covering a variety of essential topics to provide students with the knowledge and practical skills needed to succeed in this exciting field. Students will learn about the history of computer vision and image formation, as well as practical skills like edge detection, image features, SIFT, image matching, and image segmentation. The course also introduces linear programming, tensors, and GPUs, before delving into the essential concepts of perceptrons and neural networks. The module also introduces PyTorch and covers the essential steps for preparing datasets, building, training, testing, and validating models. The highlight of the module is a practical image classification project using PyTorch, which lays a strong foundation in both theory and practical applications.

Values:

  • Computer Vision and Deep Learning are changing the way everything works today, from airplanes to autonomous cars. This module introduces students to the fundamentals of these state-of-the-art technologies.
  • This module prepares the students to start working on applications in various fields, such as healthcare, transportation, and entertainment.
  • This module prepares students for basic internships in both small and large businesses.

Robotics is a field of immense importance in the 21st century. This module is designed to provide students with a comprehensive understanding of the fundamentals of robotics. Students will learn to apply concepts such as voltage, current, and power throughout the module. They will also gain practical skills through the design, planning, and construction of an autonomous robot. Additionally, students will learn to interpret sensor data using signal processing techniques and gain a thorough understanding of the different components and assembly steps required for building a robot. The module covers various SoC (System on Chip) options and the selection of electrical motors used in robotics. Students will learn to use a camera for control, practice debugging techniques, and set up a line following an autonomous robot.

Values:

  • Learning the multidisciplinary field of robotics helps with analytical thinking, problem-solving, and enhances creativity. This module helps students to become innovative thinkers and will provide the technological foundation to create solutions for everyday problems.
  • This module prepares students for basic internships in both small and large businesses.