Edit me

Goal

  • Introductions
  • System set up
  • Run hello world program
  • Logistics

Downloads

For this course you will need Java (Programming language SDK) and IntelliJ (Java Editor). After you click on the following links, select your Operating System and Download, Wait till everyone is done with downloads and we will go thru the installation process..

Introductions

  • Name
  • Hobby
  • FTC team
  • Expectations from the class
  • Programming experience

Logistics

  • Join Java slack channel.
  • Ask Questions, if you have a question most probably someone else has the same question. Instructors would appreciate if you ask questions during the class. Instructors code on a day to day basis so we can make assumptions that some terms are understood. Asking questions will help instructors take a step back and clarify.
  • We will be coding during the class, You will need a laptop or desktop during the class.
  • Normal weekly routine
    • Goal for the week.
    • Summarize last weeks content.
    • Kahoot to test last weeks content.
    • Talk thru previous weeks assignment.
    • New content for the week. Course content will be broken out into sections.
    • Exercise or Kahoot for each section.
    • Discuss assignment for the week.
  • Office hours - Every week Thursday 4-5. If you have any questions from Tuesdays session, issues with installation, questions on home work assignment you can ask during office hours. Zoom link will be pinned to slack channel.
  • You will have an assignment (coding exercise or suggested reading material) every week. Even if you are late assignment does not work, I would recommend submiting your assignment and instructor will work with you to get your assignment working. The course builds on assignments so its important to complete assignments.
  • Course Project - We will be working towards a simple eCommerce Application (similar to amazon).
  • FTC Section of course track - We will be using a simulator to test code to be deployed on the robot.
  • Important course information will be pinned to slack channel.
  • If anyone wants to teach a small section, you are welcome, Let the instructor know. (Instructor will help as needed.)

High level course structure

  • Week 1 - Logistics, System set up.
  • Week 2 - Deep dive into Hello World program, Variables.
  • Week 3 - Type Casting, Operators, Methods
  • Week 4 - Methods Revisited, String & Math API
  • Week 5 - If statements, Logical operators, while loop
  • Week 6 - For loops, Arrays
  • Week 7 - OOP, Classes
  • Week 8 - Classes revisited, Exercises.
  • Week 9 - Inheritance, Abstraction, Polymorphism, Project discussion
  • Week 10 - Data structures, Exceptions, Project discussion
  • Week 11 - FTC Introduction, Op Modes, Working with motors
  • Week 12 - Encoders, Servo, Distance Sensor
  • Week 13 - Road Runner (Drive to a location, uses encoders internally, pid controller / feedforward control, Odometry / Localization)
  • Week 14 - A * (Path planning algorithm)
  • Week 15 - Tensor Flow

Hello World Exercise.

Creating a new project in IntelliJ

Find IntelliJ IDEA CE (you may have an icon in your Desktop or Applications), Open it.

File -> New Project

Setting a hello world exercise

public class HelloWorld {
    public static void main(String args[]) {
        System.out.println("Replace Content");
    }
}

Assignments

  • Install Git on your system.
    • Windows, You can also follow the video, Watch video upto 1min 30 sec.
    • if you are using a mac git may already be installed. On your terminal type in git --version , If git is not installed you will be prompted to install git. If git is installed you may see something similar to below
      git --version
      git version 2.24.3 (Apple Git-128)
      
  • Create a github account.
  • Suggested reading. Getting started in FTC

FAQ