Level 1 Courses

Introduction to Scratch

The fundamental concepts of programming are introduced using Scratch, a software developed by a team at MIT, and will have students think like programmers. Through this Scratch-based program, students understand the fundamental ideas about computers and programming, and develop some basic problem-solving and project design skills.

Student Learning Outcomes:

  • Learn about problem-solving and project-design skills such as:
  • Logical reasoning, debugging problems, and
  • Developing ideas from initial conception to completed project
  • Understand fundamental ideas about computers and programming

Prerequisites:

Back to top
Back to level 1 courses

Advanced Scratch

Scratch has near limitless potential when it comes to creative game design and JAVA01 has just scratched the surface of what we can do. In this course, we will create more advanced projects. These projects will have you implement gravity, work with list data types, and much more.

Student Learning Outcomes:

  • Develop comfortability with various data types
  • Use logic and creativity to implement interesting game features
  • Understand the uses of important programming concepts such as lists, loops, and parallel execution

Prerequisites:

Introduction to Scratch knowledge or equivalent course

Back to top
Back to level 1 courses

Minecraft Game Design

Minecraft requires critical thinking and creativity throughout the game. Students will learn how to think logically by creating devices and logic gates using redstone, the circuit component of Minecraft.



Student Learning Outcomes:

  • Creating basic logic gates.
  • Using logic gates to create redstone inventions.
  • Produce useful contructs that aid gameplay to encourage learning
  • Improve their critical thinking skills as well as creativity

Prerequisites:

None Required

Students ready to explore their virtual world




Back to top
Back to level 1 courses

Advanced Minecraft Game Design

In this course, students will learn how to code using ComputerCraft, a Minecraft modification that students will add to their Minecraft game. ComputerCraft utilizes the Lua programming language and requires students to learn Lua in order to program machines to complete custom tasks. ComputerCraft not only teaches students how to code in Lua, but it also motives them to self learn and create their own programs as these programs improve the way they play Minecraft.



Student Learning Outcomes:

  • Understand Lua syntax.
  • Be able to create and utilize loops.
  • Be able to create and utilize variables
  • Become familiar with APIs

Prerequisites:

None Required

Students ready to explore the world of coding




Back to top
Back to level 1 courses

Introduction to Web Programming with HTML5


HTML and CSS are markup languages and the building blocks that make up the web. This course will teach you how to use them, but also much more than that. It is called "Not your Typical Intro" because it does not follow the usual pattern of other courses and tutorials that you find on the Internet. Usually HTML and CSS is taught with a focus on language syntax. But knowing syntax alone does not enable you to create a webpage from a design. You need to know where to start and how to approach the task, in other words - you need to learn how to think like a front-end developer. In this course you will learn how to convert digital design mockups into static web pages. We will teach you how to approach page layout, how to break down a design mockup into page elements, and how to implement that in HTML and CSS.

Course Objectives:


Front-end Web Developers must have a fundamental understanding of HTML and CSS which we will accomplish in this course by converting digital design mockups into static web pages. To build the web pages you will use HTML, CSS, and take advantage of the Bootstrap. After completing this course you will be able to build a responsive portfolio site, with your own CSS framework, with the functionality to add your future projects to it. Most importantly, you will have an understanding of the DOM and how HTML, CSS, and JavaScript all relate to each other.

Student Learning Outcomes:

Take a design mockup as a PDF-file and replicate that design in HTML and CSS.

Prerequisites:

None

Back to top
Back to level 1 courses

MindStorms Lego Robotics

The Introduction to Programming with Mindstorms EV3 Lego Robotics Curriculum is a curriculum module designed to teach core computer programming logic and reasoning skills using a robotics engineering context. It contains a sequence of 10-15 projects (plus one capstone challenge) organized around key robotics and programming concepts.

Student Learning Outcomes:

  • They will learn how programs flow naturally, and how to control that flow.
  • How to use various mediums of output: text, pictures, sounds, and movement from the robot.
  • How to handle input in context of sensor blocks.
  • Basic concepts of programming
  • Commands
  • Sequences of commands
  • Intermediate concepts of programming
  • Program Flow Model
  • Simple (Wait For) Sensor behaviors
  • Decision-Making Structures
  • Loops
  • Switches
  • Engineering practices
  • Building solutions to real-world problems
  • Problem-solving strategies
  • Teamwork

Prerequisites:

none




Beginner Projects

  • Build a Base Robot
  • Updating Software and Firmware
  • Introduction to Brick and Software
  • Common Brick Issues
  • Port View
  • Moving Straight
  • Pseudocode
  • Basic Turning
  • Displaying Text and Graphics
  • Custom Images and Sounds
  • Introduction to Touch Sensor
  • Introduction to Color Sensor
  • Introduction to NXT Light Sensor on the NXT Platform
  • Loops
  • Switches
  • Importing Additional LEGO Block
  • Sound Block
  • Introduction to Sound Sensor
  • Introduction to Ultrasonic Sensor
  • Basic Line Follower
  • Moving An Object


Intermediate Projects

  • Basic Ultrasonic Wall Follower
  • Brick Buttons as Sensors
  • Data Wires
  • My Blocks with Inputs or Outputs
  • Moving with My Blocks
  • Turning with My Blocks
  • Color Line Follower with My Blocks
  • Infrared Sensor
  • Debugging Techniques
  • Move Blocks
  • Reliability Techniques
  • Color Sensor Calibration
  • Variables
  • Logic Operations and Decision Making
  • Introduction to Parallel Beams


Advanced Projects

  • Parallel Beam Synchronization
  • Arrays
  • Introduction to Proportional Control
  • Proportional Line Follower
  • Proportional Control with the Sound Sensor
  • Ramping Up
  • Introduction to Gyro Sensor
  • Gyro Sensor Revisited
  • Gyro Sensor - Turns
  • Squaring on Lines
  • Menu System
  • Data Logging
  • Bluetooth
  • Random Block
  • Files

Back to top
Back to level 1 courses


Intro to Mobile App Development

In this course, you will learn the fundamentals of writing applications using a visual, blocks-based programming language, Stencyl, for Android devices. Its powerful blocks enable even novice programmers to create apps that take advantage of the device's mobile features, such as GPS, texting, clock, and sensors. Students will learn how to create and effectively utilize variables, loops, event triggers, constructors, conditional statements, and more.

Student Learning Outcomes:

  • Demonstrate understanding of basic view components and behaviours.
  • Program animations, levels, artificial intelligence, and character abilities.
  • Improve classroom learning through student collaboration.
From beginning to end, you will learn by doing blocks-based programming language projects and submitting them for instructor feedback.




Prerequisites:

No Prerequisite

Back to top
Back to level 1 courses




Level 2 Courses

Introduction to Java

Programming using the Java syntax will be introduced using a popular software called Greenfoot. Students will start with creating simple programs and then enhance them using input/output, calculations, decision making, and loops.

Student Learning Outcomes:

  • Define and implement classes and methods as well as document code
  • Understand objects, return types, parameters
  • Understand basic inheritance, errors, method calls, and decision making
  • Produce fully functional and well documented programs in Java using Greenfoot
  • Improve classroom learning through student collaboration

Prerequisites:

Introduction to Scratch or equivalent knowledge

Back to top
Back to level 2 courses

Introduction to Python


We teach programming using the cross-platform language Python. The main focus is on learning to understand the detailed requirements of a programming task, and writing programs that are well structured, correct, easy to read, and to maintain. In order to do this students need to develop an understanding of how to represent information both as data and algorithms. Students also need to develop the skills of incrementally developing and testing programs. The course covers simple variables, expressions, input and output, control structures, functions, using standard data structures such as lists and dictionaries, and using standard Python modules. By the end of the course students who succeed are able to design and implement a medium-size computer program as well as have some idea of the process of program execution.

Students Learning Outcomes:

Upon successful completion of this course, students should be able to:

  • Detemine the state of the program both during and after execution, given a code. listing that may include functions and parameters, loops, conditionals and sequences
  • Implement a given algorithm using Python
  • Show that a program meets given specifications by writing appropriate tests
  • Provide a useful level of documentation, in the form of program comments, for all programs developed
  • Compose functions that perform a specified task into a program that solves a given problem
  • Describe program design, syntax and ethical issues using written language

Prerequisites:

None

Back to top
Back to level 2 courses




Level 3 Courses

Adv Java Programming I

We help students to master college-level material by offering full range of AP preparation for Computer Science. This series of courses, Advanced Java I to III, will cover all the topics required for the AP Computer Science curriculum. This will include data types, control structures, classes, objects, static arrays, dynamic arrays, strings, recursion and algorithms. We also place a strong focus on Object Oriented Programming with encapsulation, inheritance, composition and polymorphism.

Student Learning Outcomes:

  • Understand the basic process of how machines interpret Java code
  • Learn the syntax of Java
  • Understand and utilize a variety of variable types
  • Gather and perform operations on user input
  • Understand the difference between primitive types and object
  • Be able to create as well as understand various methods, if statements, and loops

Prerequisites:

Introduction to Java or equivalent knowledge

Back to top
Back to level 3 courses

Adv Java Programming II

We help students to master college-level material by offering full range of AP preparation for Computer Science. This series of courses, Advanced Java I, II, & III, will cover all the topics required for the AP Computer Science curriculum. This will include data types, control structures, classes, objects, static arrays, dynamic arrays, strings, recursion and algorithms. We also place a strong focus on Object Oriented Programming with encapsulation, inheritance, composition and polymorphism. This is a continuation of Advanced Java I with more advanced topics.

Student Learning Outcomes:

  • Understand and create Java arrays
  • Be able to relate classes and objects
  • Understand the role of a constructor
  • Demonstrate the ability to create and understand instance methods as well as variables
  • Be able to create arrays of objects
  • Be able to use loops to navigate through arrays

Prerequisites:

Advanced Java I or equivalent knowledge

Back to top
Back to level 3 courses

Adv Java Programming III

We help students to master college-level material by offereing full range of AP preparation for Computer Science. This series of courses, Advanced Java I, II, and III, will cover all the topics required for the AP Computer Science curriculum. This will include data types, control structures, classes, objects, static arrays, dynamic arrays, strings, recursion and algorithms. We also place a strong focus on Object Oriented Programming with encapsulation, inheritance, composition and polymorphism. This is a continuation of Advanced Java II with more advanced topics.

Student Learning Outcomes:

  • Learn algorithm analysis
  • Understand and utilize pointers
  • Understand a variety of Algorithms/Problem Solving
  • Understand and be able to create various advanced data structures such as stacks, splay trees, and binary heaps
  • Design and develop programs using recursion

Prerequisites:

Advanced Java II or equivalent knowledge

Back to top
Back to level 3 courses

Introduction to C++ Game Programming


Here's your chance to learn how to program the easy way in C++. Introduction to C++ Game Programming is a project-oriented course with materials gathered from the top schools. Taught through the context of making games, you'll pick up on the programming concepts--even if you have no prior programming experience! Before you know it, you'll be putting together programs that have their own windows and controls, and you'll see how easy programming really is..

Students Learning Outcomes:

Upon successful completion of this course, students should be able to:

  • Approach a problem, and come up with an algorithm to solve it.
  • Understand symbols, keywords, and operators.
  • Know of the primitive data types and how they interact with each other in expressions.
  • Include libraries and use their built in functions and variables.
  • Understand properties of functions, write them, and know why you would use them.
  • Combine functions with branches and loops and use incremental development with functions
  • Create arrays to group data and manipulate the data by interfacing with the array
  • Produce fully functional and well documented programs in C++

  • Prerequisites:

    None

    Back to top
    Back to level 3 courses