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..
- Download Java (you will need to register with oracle, you will need an email address)
- Download community edition of IntelliJ
Introductions
- Name
- Hobby
- FTC team
- Expectations from the class
- Programming experience
Important Links
- Course Material w3schools
- API (We will go over this in later classes)
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 belowgit --version git version 2.24.3 (Apple Git-128)
- Create a github account.
- Suggested reading. Getting started in FTC
FAQ
- How to Determine if Windows is x64 or x86
- In addition to w3 schools , are there other resources I can look at.