header image
Check this page for updates on upcoming classes, our learning goals, and the lesson modules we'll use to get there.

CIT-111 Java ONLINE: Weekly Lesson Guides

Course Schedule and Lesson Guides

Our online class is structured by week, and each week has it's own learning guide on this page.

Please treat each week's guide as gold--it is your path through this course, week-by-week. If you have any questions, please call the technologyrediscovery.net shop at 412.894.3020.

I can also receive emails at edarsow@ccac.edu but programming questions can most effectively be answered over the phone or during office hours.


Week 1: Monday 29 Jan - Saturday 3 Feb

Setting up a Java compiler | Running a simple program | Java basics

Welcome to CIT-111 online! Our journey together is diving into the Java programming language. Please attend to the content in each week's guide carefully, as it will guide your through your learning.

Our goal this week is to setup our work environment which means getting an Integrated Development Environment (IDE) setup on our computers, explore our online code repository called GitHub, and execute some basic Java programs and start tinkering with them.

check_circle

Learning Objectives

  1. Install and test Netbeans, a Java-oriented development environment that is community created and 100% free
  2. Execute a Java application in NetBeans and edit some of its basic components to see how easy it is to create and adjust programs written in Java!
format_list_numbered

Lesson Sequence

  1. movie View our welcome video that provides a course overview and introduction to Java. It's hosted on YouTube and located here.
  2. Study our course syllabus and prepare any questions you might have. Pay particular attention to the course grading procedures, which are also described here.
  3. Buy a copy of Oracle's Java: A Beginner's Guide (6th edition is the cheapest) from a source of your choosing. The Amazon.com link is here.
  4. Scan and think about our core Java skill learning flow which we will roughly follow throughout this course.
  5. The first chunk of stuff to do for this course is get your workspace setup, which involves installing a two programs that allow you to create, debug, and run programs in Java. The first is the Java Development Kit 8 which is a program that includes a Java compiler and virtual machine. The version you should use is produced by Oracle, a major software company. It's free.. Note that you DO NOT want to install Java 9 SDK which has recently been released.
  6. The second program is called NetBeans and is used by everybody from students who have never programmed before to folks who program hugely complicated systems for mega-organizations, like Oracle. Start by visiting the NetBeans download page and download the program listed under the "Java SE" column. external You are welcome to download any of the other versions of the software if you think you'll want more programming power.
  7. Complete EACH step in this NetBeans quick start guide which will ensure that your compiler is working and you'll see how easy it is to create and run Java programs.
  8. After you have the Hello World program running, study Oracle's dissection of this simple program so you can glean a general sense of what each of the lines does. A challenge with Java is that because it can do so many powerful things, doing simple things is a little more complicated than if the system only did simple stuff.
  9. Attempt to answer and study the correct responses to this little quiz created by Oracle about Java basics. The core value of this exercise is to familiarize yourself with some of the technical terms that we need to learn in order to take advantage of the vast documentation about Java available to us for free.
  10. Now that you have a working netbeans environment, view the success tips video specific to learning programming languages. movieWeek 1, Segment 2: Success Tips
build

Weekly Products

STEP 1: Create a new word processing document. Type your first name, "CIT111, Spring 2018, Week 1" and your special ID number at the top of the document. (See the intro video for instructions on creating your special ID.)

STEP 2: Manufacture your Special ID number. Locate your student id number either within MyCCAC or on your Student ID card. Your four-digit special ID is the FIRST TWO followed by the LAST TWO digits of your student ID number.

So if my assigned student ID number is 56387239, the special ID I'll use throughout this course is 5639.

STEP 3: Save this document with a title that looks like this:

week1_netbeans_[your special ID number]_[your first name].

For example, Juan's special ID number is 1234, so he would name is file: "week1_netbeans_juan_1234".

STEP 4: Capture a screen shot of your Netbeans application running your "hello world" program and insert it into this document. Include a brief sentence describing any install issues you had so your instructor can help other students through these issues more effectively next time.

You can use a tool in Windows 10 called "snipping tool" to capture an area of the screen and save it as an image file on your hard drive. Then you can then insert photos into a MS Word document with these simple steps.

STEP 5: Upload your image to our shared online directory located here.

book

Essential Resources (For quick reference)

Netbeans IDE download page netbeans will provide you access to the executable files for installing both Java 8 Standard Edition and the application used to develop, test, and run that code. You'll need to install this ASAP.

Oracle's Java tutorials are the preferred online resource for learning the Java language. Many tutorials and courses exist online, but Oracle has provided the most comprehensive and updated set of guides for Java 8.

lightbulb_outline

curiosity Corner

Java is one of the most widely-used programming languages in the world. Many projects coded in Java are open source and can be viewed, edited, and republished by anybody without paying a dime. You can browse thousands the code of many Java programs on github, here. While you may not yet know how to comprehend the code, soaking up how widely used this language is will propel your learning.


Week 2: Monday 5 Feb - Saturday 10 Feb

Projects, Packages, and Classes | NetBeans is our friend

This week's learning centers around structuring projects in NetBeans and becoming eminently comfortable with the concept of a class and its main() method for running simple programs. We'll also explore how to adjust code so it's readable and learn how to load class files from our class repository so you don't have to retype each and every line of code you want to tinker with.

check_circle

Learning Objectives

  1. Explain the Java program creation lifecyle including the editor, compiler, and Java Virtual Machine
  2. Create projects, packages and class files in NetBeans that work together to structure an application
  3. Comment code, properly indent code and internalize the use of blocks { } of code to show structure
  4. Practice loading code from outside sources into NetBeans and getting them to run
book

Essential Resources

Chapter 1 & 2 of Java: A Beginner's Guide gives an introduction of the Java language and chapter 2 explores the essential java data types. Please start studying these chapters as soon as you'd like. While this week's modules will not depend on these chapters, next week's will and you may need to read them a few times to internalize their language.

format_list_numbered

Lesson Sequence

  1. View this weekly overview video that discusses the concept of a computer language by drawing connections in cooking recipes.
  2. Our learning most weeks will not live in this list, but rather in the module guides that also have links on technologyrediscovery.net's home page. For this week, we'll tackle Chunk 1, Module 1 & Module 2. Start by carefully studying and working all the examples in Chunk 1, Module 1: Java Langauge Essentials. Note that there are big teal boxes that ask you to stop and study your book. Please don't skip over these!
  3. When you've digested all of Module 1, Move on to the shorter Chunk 1, Module 2: Loading external classes into NetBeans.
build

Weekly Products

  1. This week's product is a piece of cake: to verify that you have indeed acquired our textbook: Java, A Beginner's Guide 6th Edition. Grab your copy of the book, turn to page 245, and copy the very last sentence on that page into the body of a blank email. NOTE: The 6th edition is NOT the most current, since it is much cheaper than edition 8 and has all the necessary content inside. If you bought a more current version, please let me know in the email you'll send next.
  2. Make the subject of this email: "Java Online Book Check"
  3. Send this email to your instructor: edarsow@ccac.edu by the 11th or 12th of February.
  4. You are more than welcome to include any comments or questions about the class in your email, but this is not necessary.


Week 3: Monday 12 Feb - Saturday 17 Feb

Primitive Variable Initialization | Referencing & Manipulating Variables

check_circleLearning Objectives

bookLearning Resources

  1. Oracle online tutorial on primitive data types
  2. Oracle online tutorial on Operators (entire subsection)
  3. Oracle online tutorial on If-then statements
  4. Java: A Beginner's Guide: Chapter 2 on Data Types and Operators (6th edition pages 31-61). If you have other editions, check the Table of Contents for "Data types and Operators"
  5. Java: A Beginner's Guide: Sub-chunks of Chapter 3 on the If-Then statement (6th edition pages 63-69 only).

listLesson Sequence:

  1. Work through our Module Tutorial: Chunk 1: Module 3 located here.. There are a bunch of exercises and links to resources. Plan on devoting a serious amount of time to working all of these exercises carefully, studying as you go.

cakeProducts to Produce


Week 4: Monday 19 Feb - Saturday 25 Feb

Gathering user input | Diagramming Program Logic | If-Blocks

We'll continue our exploration of Java's fundamentals by practicing creating program logic with if() blocks which evaluate an expression which produces either a true or false value and runs blocks of code based on that result.

This is the first week you'll be asked to upload code that you write by yourself to a public code repository. This exercise will be straightforward for some folks, and rather challenging for others. Please remember, this is not a test! You are expected to work at a level that is challenging for you, but not frustrating. If you can only get part of the program to run, make a note in the comments and reach out to me with questions.

VIDEO NOTE: This week is solid and ready to go with extensive written content. I should have videos up and ready by the end of the day on Tuesday 20 Feb or early Wed morning which should be fine for the weekend warriors among you.

check_circleLearning Objectives

bookLearning Resources

  1. Oracle online tutorial on If-then statements
  2. Java's technical documentation on the Scanner class in the java.util package. For most folks, this documentation will not be easily comprehensible, but you can still find the nextInt(), nextDouble(), and next() methods in the method list and see how the Java library is explained.

listLesson Sequence:

  1. Devote a serious amount of time to working through our Chunk 1, Module 4: User Input and control-of-flow with if() statements. Work through the code in the core concepts section and the three exercises, each with a mini coding project and a source code key.

cakeProducts to Produce

The module final project is located in Chunk 1, Module 4 and will be this week's product and should be uploaded to GitHub, an open source code repository used by many organizations and individuals. Follow this sequence which takes you through the entire preparation and upload process.

  1. Devote time and effort to first planning and then coding the module project listed after all the exercises. Think carefully about how to implement the specification in java. Test your code.
  2. When you have a working program, please return to your code and add comments before all major lines (you don't have to comment System.out.println() statements since they are self-explanatory). The comments should be in your own words and not copied from any of our class code or others' code.
  3. Create a GitHub account using this detailed guide
  4. Upload your .java file to your github account's repository you just created using the steps it described.
  5. Make an entry in the Fall 2018 fall project submission index so your instructor and all other students can review and benefit from your hard work!


Week 5: Monday 26 Feb - Saturday 3 March

Getting down and dirty with methods: the basic building block of classes

check_circleLearning Objectives


Week 6: Monday 5 March - Saturday 10 Marck

Internalizing Java Class Structure

check_circleLearning Objectives


Week 7: Monday 12 March - Saturday 17 March

Method-based project

check_circleLearning Objectives

bookLearning Resources

  1. Plan a computer program that does something interesting using Java's fundamental components
  2. Implement your program plan to create a working, debugged program


Week 8: Monday 19 March - Saturday 24 March

Introduction to Object-Oriented Java

check_circleLearning Objectives


Week X: [SPRING BREAK!!!] Monday 26 March - Saturday 31 March

Take the week off and explore!

No required activities this week: only an encouragement to relax by learning something new about computers that you are curious about or interested in.


Week 9: Monday 2 April - Saturday 7 April

Arrays and for() looping

check_circleLearning Objectives


Week 10: Monday 9 April - Saturday 14 April

Designing object-oriented code

check_circleLearning Objectives


Week 11: Monday 16 April - Saturday 21 April

Building and sharing Java Objects

check_circleLearning Objectives


Week 12: Monday 23 April - Saturday 28 April

Extending Java into GUI land

check_circleLearning Objectives


Week 13: Monday 30 April - Saturday 5 May

Final Projects!

check_circleLearning Objectives


Week 14: ["Finals"] Monday 7 May - Saturday 12 May

Celebrating the Cyborg life!

check_circleLearning Objectives


Page created on 2018 and last updated on 2018 and can be freely reproduced according to the site's content use agreement.