Skip to content

TIYRaleigh/TIY-Temp-Java-Curriculum

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Java and Clojure

Java is one of the most ubiquitous and versatile languages in the world. It runs behind the scenes for a large portion of the websites you use daily, as well as in many desktop and smartphone apps. It’s well-suited for large programs that need performance and scalability.

Before Class

Prework and Introductions

Foundations

This is content we need to cover before we can really get to work programming.

Getting Started with Java

In life, we need to walk before we can run. In Java, we need to write simple programs to learn the lay of the land.

Classes, Objects, and Methods

Classes and objects are the core of Java. You can't do anything without them.

Writing classes

Now that we know what classes are, how to instantiate them, and how to call methods on them, let's learn how to actually write our own classes.

Arrays

Arrays are used to store lists of objects.

Java Collections Framework

Arrays are awesome and all, but, quite honestly, they're a bit primitive. The static nature of arrays can make them hard to work with. To resize an array you have to create a whole new array. You can only index items in the array by a numeric value. You have to use the Arrays class for any fancy capabilities. They only solve one problem, working with lists of objects or primitives.

Happily, Java includes the Java Collections Framework (JCF). The JCF provides a bunch of classes whose purpose it is to work with collections of data. A collection is a group of objects. These objects are called elements. Different types of collections have different features. All collections in Java are iterable. This means you can loop over them using foreach syntax.

Debugging

Debugging software is more of an art than a science. It's quite a bit like solving a puzzle. You will probably have pieces of the puzzle given to you. These might be error messages or unexpected behavior. With that knowledge you can usually narrow down where the problem is coming from. You can dig into that area, looking for more information. Once you have all enough of the pieces, you can put the picture together and fix the bug.

Unit Tests

There are many ways to test software. New programmers will typically just run their code, over and over, trying to find and fix problems. This can be extremely time consuming. Sometimes businesses will hire a quality assurance person to manually test an application, looking for issues. These QA people may become rather sophisticated over time. But, eventually, almost any system will become too complex to reliably test manually.

Test Driven Development

Test Driven Development (TDD) is a widely used process for writing software. With TDD, the coding process is the reverse of what you might expect, you write your tests first and then write code that makes them pass.

.... insert more curriculum here ....

About

A temporary repo while the TIY prod team gets things fixed up for new students in Tiyo.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •