6.005 — Software Construction
## Tool Setup Sessions
**6.005 requires you to set up a development environment on your computer.** If you are not familiar with the Eclipse IDE and the Git version control system, attend a tutorial on Wednesday or Thursday evening where TAs & LAs can help you out.
**[Getting Started with Eclipse](eclipse/)** and **[Getting Started with Git](git/)** offer practical pointers on using these tools.
Wednesday, Sept 3 Thursday, Sept 4 Friday, Sept 5
7pm to 10pm in 32-044 Help setting up Java, Eclipse, & Git 7pm to 10pm in 32-044 Help setting up Java, Eclipse, & Git 1pm in class **In-class exercises**: You must have Java, Eclipse & Git set up & working on your laptop
## Learning Java
**6.005 requires you to get up to speed quickly with the basics of writing and running Java.** If you are not familiar with Java: + review the materials below + review [Reading 2] and complete the reading exercises + attend class on Friday + visit office hours on Friday to ask questions + visit lab hours during the weekend for help [reading 2]: http://web.mit.edu/6.005/www/fa14/classes/02-basic-java/
[See below](#materials) for lecture slides and optional short programming exercises you may find useful.
Friday, Sept 5 Saturday, Sept 6 Sunday, Sept 7
1pm in class 2pm to 5pm in 32-G7 Office hours 1pm to 5pm in 32-044 Lab hours 1pm to 10pm in 32-044 Lab hours
### Office Hours See the **[office hours calendar]** for the first-week schedule. [office hours calendar]: http://web.mit.edu/6.005/www/fa14/office-hours/ Regular lab and office hours will begin on Monday, Sept 8. ---- ## Materials {#materials} These lecture slides and short programming assignments are from [IAP course 6.092](https://stellar.mit.edu/S/course/6/ia11/6.092/). They were authored by Evan Jones, Dina Kachintseva, Adam Marcus, and Eugene Wu. ### Slides - [Lecture 1 - Types, Variables, Operators](https://stellar.mit.edu/S/course/6/ia11/6.092/courseMaterial/topics/topic2/lectureNotes/lecture1/lecture1.pdf) - [Lecture 2 - More Types, Methods, Conditionals](https://stellar.mit.edu/S/course/6/ia11/6.092/courseMaterial/topics/topic2/lectureNotes/lecture2/lecture2.pdf) - [Lecture 3 - Loops, Arrays](https://stellar.mit.edu/S/course/6/ia11/6.092/courseMaterial/topics/topic2/lectureNotes/Lecture3/Lecture3.pdf) - [Lecture 4 - Classes and Objects](https://stellar.mit.edu/S/course/6/ia11/6.092/courseMaterial/topics/topic2/lectureNotes/lecture4/lecture4.pdf) ### Short Programming Assignments You can use these assignments to practice Java before diving into [PS0], [Git], and [JUnit]. [PS0]: http://web.mit.edu/6.005/www/fa14/psets/ps0/ [Git]: http://git-scm.com [JUnit]: http://junit.org **The assignments below are not required for 6.005.** You will not turn them in. To work on the assignments, create a new Eclipse Java project (*File → New → Java Project*, name it `tutorial`, click *Finish*). Then create a new class file (*File → New → Class*, enter the CamelCase name, click *Finish*). Then copy-and-paste in the provided starting code. To run a class with a `main` method, right-click and choose *Run As → Java Application*. - [Assignment 1 - GravityCalculator](https://stellar.mit.edu/S/course/6/ia11/6.092/courseMaterial/homework/assignments/assignment1/assignment/1/assignment1.html) - [Assignment 2 - FooCorporation](https://stellar.mit.edu/S/course/6/ia11/6.092/courseMaterial/homework/assignments/assignment2/assignment/1/assignment2.html) - [Assignment 3 - Marathon](https://stellar.mit.edu/S/course/6/ia11/6.092/courseMaterial/homework/assignments/assignment3/assignment/1/assignment3.html) - [Assignment 4 - Runner and Race](https://stellar.mit.edu/S/course/6/ia11/6.092/courseMaterial/homework/assignments/assignment4/assignment/1/assignment4.html) ---- ### Have fun in 6.005!