IT-511 References Guide

Hello and Welcome to the IT-511 References Guide!

This page was specifically created to help you as you progress through our course and is derived from a longer list of general Java references here: http://www.sethi.org/tutorials/references_java.shtml. IT-511 is a very challenging course for those with no prior programming experience, and can be intimidating even for those with some previous experience. Don't worry, take a breath, and relax; we have plenty of resources that will help you stay on track if you're willing to put in the time!

One of the main issues most students encounter is feeling lost or confused when faced with the large amount of information that is headed your way in our course. Different students will have varying degrees of tolerance to feeling a little lost or confused. When students first get exposure to programming concepts, not much seems clear or straightforward. Some students will feel comfortable wading through the new concepts and reading sometimes without understanding. Other students will be quite uncomfortable and generally prefer more clarity when they encounter new material. Still others will have difficulty with the abstract terms and problem solving that is inherent to any programming enterprise.

The resources compiled on this page should hopefully help alleviate some of that worry! These references include videos and tutorials and full-on courses that can help you as you progress through our course. They're organized by module and the resources are designed to align with the topics covered in each module. So, without further ado, let's get to Module 1!

Module 1: Introduction to Java

If this is your first experience with Java, you may find some of these resources very useful if you are a visual learner.

TIP: Accessing your code on the VDI: Although you can use a flash drive to save your work on the VDI environment, I highly recommend using a cloud storage option like Google Drive, OneDrive, DropBox or even your own email to store your files instead as the USB access is very slow by remote.

Module 2: Data Types and Variables

This week, you will start writing your first program.

CODING TIP: Students can be overwhelmed with all of the syntax rules that have to be followed to get programs to run. I would like to encourage you to grow your code slowly by adding a few lines of code at a time, ensuring that it compiles correctly after each addition. That way, you will not have to try to fix a large number of compiler errors at once. Small iterations of coding and testing is one of the best ways to develop programs, especially for beginners. A helpful mental model is to encourage growing code like nurturing a flower as opposed to approaching coding like ice carving. You might sometimes want to type in a bunch of code and hope that you can carve and hack it down to something beautiful but it almost always is more effective to grow it slowly.

Module 3: Control Structures

This is a crucial week for student success in our class as you have just completed the MyClone class and the rest of the milestones build upon it intimately.

Module 4: Loop Control Structures

The loops task this week can be quite challenging. One helpful approach is to first break it down into working segments or with pseudocode.

Module 5: Arrays

This week, you'll be working with strings and arrays and asking for input from the user.

Module 6: Methods

This week, you'll be seeing how to write your own user-defined methods.

Module 7: Classes and Objects

This week gets quite involved as we dive into the deep end of OOP!

Module 8: Random Numbers

This week, you'll work with random numbers and ArrayLists or HashMaps.

Module 9: Unit Testing

This week, you bring everything together for your final project and create a test class that tests all methods in your user-defined class.

Module 10: Further Study

Congratulations! The class is over and now we'll discuss further study and growth opportunities!


Ricky J. Sethi, PhD <rickys@sethi.org>
Last updated: Sunday, November 6 2016
(sethi.org/tutorials/guide_it511.shtml)