Before the bell
You are responsible for all of this before the end of class.
- The discussion form in the I Do deck. All three sections. If you are here, this should be done.
- Your classwork. This form on the right. Section 1 before the exit ticket pops up; Section 2 past the floor.
- Today's Bench Basics activity: Divide and Remainder. It opens later in class and lives on slide 4 of this deck.
- The exit ticket. It opens 15 minutes before the bell and lives on the last slide of this deck.
The classwork form is not linked yet. Use Station View and write your answers in your lab notebook with the item labels.
Divide and Remainder: Whole Numbers Only
This reading shows how to divide whole numbers the way today's bench does, with the whole part and the remainder kept separately.
Long Division with Whole Numbers
When a computer divides two whole numbers, it often keeps only the whole-number part of the answer and drops the rest. The part that is dropped can be worked out separately, and it is called the remainder. This reading writes whole-number division as ÷ and the remainder as rem. It writes * for times, which is the symbol Java and the bench use for multiplication. In November, the class will see Java write all three as shown below.
1whole part: ÷ in this reading, / in Java 2left over: rem in this reading, % in Java 3times: * in this reading, * in Java
For example, when 23 students sit at tables that hold 4 students each, five tables fill up and 3 students are left over. So 23 ÷ 4 is 5, and 23 rem 4 is 3. The answer is not 5.75, because whole-number division keeps only the whole part. To check the work, multiply the divisor by the whole part and add the remainder, as in 4 * 5 + 3 = 23. The check always gives back the number that was divided.
1problem long division ÷ (whole part) rem (left over) check 223 and 4 4 goes in 5 times 5 3 4 * 5 + 3 = 23 340 and 6 6 goes in 6 times 6 4 6 * 6 + 4 = 40 43 and 8 8 goes in 0 times 0 3 8 * 0 + 3 = 3 524 and 6 6 goes in 4 times 4 0 6 * 4 + 0 = 24
Two rows of the table need extra care. When a number is smaller than the divisor, the whole part is 0 and the remainder is the number itself, so 3 ÷ 8 is 0 and 3 rem 8 is 3. When a number divides evenly, the remainder is 0, as in 24 rem 6. The remainder is always smaller than the divisor.
One Step at a Time
A line with several operations is worked in a fixed order. First, work anything inside parentheses, and next, work * (times), ÷ and rem from left to right. After that, work + and − from left to right. Each step rewrites the whole line, so every new line shows one more operation finished.
120 − 14 ÷ 4 9 + 23 rem 4 (9 + 23) rem 4 2= 20 − 3 = 9 + 3 = 32 rem 4 3= 17 = 12 = 0
In the first line, 14 ÷ 4 is worked before the subtraction, so the answer is 17. In the third line, the parentheses come first, so 9 + 23 is added before the remainder is found.
The bench catches two common mistakes, and both of them change the answer. The first is writing a decimal answer, such as 3.5 for 7 ÷ 2, when the problem asks for the whole-number part, which is 3. The second is doing + or − before ÷ or rem.
Sources: Gosling et al., The Java Language Specification, Java SE 21 Edition (2023); Oracle, The Java Tutorials: Operators and Expressions, Statements, and Blocks; course repository, Bench Basics B06 job data (2026).
Programming Languages and Where Java Came From
This section explains what a programming language is, how a person's code becomes something a computer can run, and where the Java language came from.
Programming Languages
On October 14, the class read that a program is a set of instructions that a person wrote, while a model is trained on examples. Monday's passage showed that everything in an AI tool except the model is an ordinary program, written by people in a programming language.
A programming language is a set of words, symbols and rules for writing instructions that a computer can carry out. Each programming language has strict rules about how a statement is built and which symbols may appear in it. A statement in a programming language is designed to have exactly one meaning, wherever it appears. English is not a programming language, because nobody designed it for computers and many English sentences can mean two different things. For example, "The coach saw the player with the camera" does not say who has the camera, so a computer could not run it. Java is one programming language, and Python and JavaScript are two others.
Source Code and the Compiler
Source code is the text that a person writes in a programming language. It is meant to be read by people as well as by the computer. In Java, source code is saved in plain text files whose names end in .java. The short program below is Java source code that a person could type into a file named Main.java. The class will read code like this in November.
1public class Main { 2 public static void main(String[] args) { 3 System.out.println("Hello from McDonogh 35"); 4 } 5}
Hello from McDonogh 35
A compiler is a program that reads source code, checks that it follows the language's rules, and turns it into a form the computer can run. Java's compiler is a program called javac. First, a person saves the source code as Main.java. Next, the person runs javac on that file. Then javac checks every statement against the rules of Java. If a rule is broken, such as a missing semicolon, javac reports an error with its line number and makes no new file. If there are no errors, javac writes a new file named Main.class, which the computer can run.
The person writes the source code, and the compiler does the turning. A compiler is not the person who wrote the program, because it only checks and turns instructions that a person already wrote. The Main.class file is not source code either, because the compiler made it and no person typed it. Figure 1 shows these steps as three boxes.
Where Java Came From
Java began inside a small research group at Sun Microsystems called the Green Project. In a 2019 interview, James Gosling said the project started at the very end of 1990 and ended in September 1992. The group studied consumer electronics such as TVs and VCRs. Gosling, often called the father of Java, was the only member who had built a compiler before. He volunteered to make the C language safer for those devices, and that work grew into a new language. According to his own account, he named the language Oak after an oak tree outside his office window.
The devices the group studied were built with many different kinds of chips. A company that changed to a new chip often had to rewrite large parts of its code. For this reason, the group wanted code that could move to a different chip without being rewritten. Trademark lawyers found too many conflicts with the name Oak, so the team chose the name Java instead. Sun introduced Java to the public on May 23, 1995. Java later became known for the slogan "write once, run anywhere," which Gosling has described as a marketing line. Oracle completed its purchase of Sun on January 27, 2010, and Oracle now looks after Java.
Java and JavaScript
Java and JavaScript are two different programming languages. JavaScript was created at Netscape in 1995 by Brendan Eich. In December 1995, Netscape and Sun announced the name JavaScript as part of a partnership between the two companies. The companies linked the two names, even though the designs of the languages were only alike on the surface. Mozilla's documentation tells readers not to confuse the two languages, and it notes that both names are trademarks of Oracle. In this class, Java code is always called Java. The next lesson explains why so many people chose Java and what "write once, run anywhere" means.
Summary
A programming language is a set of words, symbols and rules for writing instructions, and source code is the text a person writes in one. A compiler such as javac checks source code against the language's rules and turns it into a form the computer can run. Java began in Sun's Green Project under the name Oak, was introduced in 1995, and has been looked after by Oracle since 2010.
Sources: Oracle, The Java Tutorials: About the Java Technology; Oracle, The javac Command (Java SE 21); Oracle, The Java Tutorials: Common Problems; Downey and Mayfield, Think Java (2020); Downey, Think Python, 2nd ed.; Gosling, Oral History of James Gosling (Computer History Museum, 2019); Krill, Java turns 30 (InfoWorld, 2025); Wirfs-Brock and Eich, JavaScript: The First 20 Years (2020); Oracle, Oracle Completes Acquisition of Sun (2010); Oracle, Java Software; Mozilla, JavaScript (MDN Web Docs).
What Can You Reach That It Can't?
In an earlier reading, "What's in the Chunk?", we asked what an AI tool can actually reach. This time we're flipping it and asking what you can reach that it can't.
Start with how research databases work. The companies that own them license their content to libraries, and the license usually limits who can use it and where. Tulane's library says on its own policy page that licensing agreements with database providers limit remote access to current Tulane faculty, students, and staff. A chatbot doesn't have a library card, and it can't walk into a building. You can do both.
Here's a local example. With a New Orleans Public Library card, you can search the Times-Picayune archive, which runs from 1837 to the present, along with Newspapers.com, Sanborn fire insurance maps, and genealogy records. McDonogh 35 has been part of this city for a long time, so there's a good chance a piece of its history, or your street's, is sitting on an old newspaper page in that archive. You can use these databases at any branch, or at home once you have a card. Ancestry.com is different, since it only works inside a library location.
The catch is getting the card. Cards are free for Orleans Parish residents, and you bring a photo ID when you sign up in person. If you're under 18, a parent or guardian has to come with you for a full card, and the online card is only for adults 18 and over.
Databases are only one layer. There are three more that an AI can't touch at all. The first is the books on the shelf, since no AI can pull one down and open it. The second is special collections and archives. The public library runs its own City Archives and Special Collections, and they ask you to request an appointment before you visit. Tulane's Special Collections in Jones Hall is open to the general public, also by appointment. The third layer is librarians, who know where things are and can point you to sources you didn't know existed.
University libraries are harder for high school students. Tulane's Howard-Tilton Library lets the public in before 7:00 pm, and visitors can use its databases on workstations labeled "Look It Up." However, Tulane says general use by pre-college students is not encouraged. A teacher can arrange a class visit ahead of time, but a group can't just show up.
None of this is as fast as typing a question into your phone. Still, each of these is a kind of access you have and the AI doesn't.
Answer the questions in Section 3 of your classwork.
Sources: NOLA City Archives, Databases; NOPL, New to the Library? Need a Card?; Tulane Libraries, Public Access Policy (web page and PDF); Tulane Libraries FAQ, Jones Hall and Special Collections.
The classwork form is not linked yet. Use Station View and write your answers in your lab notebook with the item labels.
MC 1. Java and English both have words. Which reason explains why Java is a programming language and English is not?
- Java was designed with strict rules so that each statement has exactly one meaning.
- Java uses words and symbols, while English uses only words and spaces.
- Java is newer than English, so computers were built to read it instead.
- Java can be read only by a computer, while English is read by people.
MC 2. A student types five lines of Java into a file named Main.java. Then javac creates a file named Main.class. Which one is the source code?
- the five lines the student typed into Main.java
- the Main.class file that javac created from the lines
- the javac program that checked the five lines
- the error message javac shows when a rule is broken
MC 3. What does a compiler such as javac do?
- It reads source code, checks the rules, and turns it into a form the computer can run.
- It writes new source code for a person who describes a program in English.
- It fixes every broken rule in the source code and then runs the program.
- It shows the source code on the screen so that people can read it more easily.
MC 4. Which statement about Java and JavaScript matches the passage?
- They are two different languages whose names were linked by a 1995 partnership.
- They are one language, and JavaScript is the version that is used on web pages.
- JavaScript is an older language, and Java was copied from it in 1995.
- JavaScript was Java's first name, before Sun changed it in 1995.
MC 5. In whole-number division, what is 31 ÷ 7?
- 4
- 4.43
- 3
- 5
MC 6. What is 38 rem 5?
- 3
- 7
- 7.6
- 8
MC 7. What are 5 ÷ 9 and 5 rem 9?
- 0 and 5
- 1 and 4
- 0 and 0
- 0.56 and 0
MC 8. Which of these has a remainder of 0?
- 42 rem 7
- 42 rem 8
- 7 rem 42
- 43 rem 7
MC 9. Look at this line. Which step comes first, and why?
16 + 18 ÷ 3
- 18 ÷ 3, because ÷ is worked before +
- 6 + 18, because the line is read from left to right
- 6 + 18, because + is the easier operation to do
- 18 ÷ 3, because the bigger numbers are worked first
MC 10. Work this line one step at a time. What is its value?
150 − (14 + 8) rem 6
- 46
- 4
- 47
- 34
CR 1. Work 47 ÷ 6 as long division. Give the whole-number part, the remainder and the check.
Write your answer in your lab notebook, labeled CR 1.
CR 2. In two sentences, explain what a compiler does and who writes the source code it reads.
Write your answer in your lab notebook, labeled CR 2.
The big picture so far (newest on top)
The classwork form is not linked yet. Use Station View and write your answers in your lab notebook with the item labels.
CR 3. Work this line one step at a time. Rewrite the whole line after each step, and show every line.
1(17 + 23) ÷ 6 + 40 rem 7
Write your answer in your lab notebook, labeled CR 3.
CR 4. In your own words, explain what the slogan "write once, run anywhere" promises, and how it connects to what the Green Project wanted for devices with different chips. Use one fact from the passage.
Write your answer in your lab notebook, labeled CR 4.
CR 5. What is one question about your neighborhood or family that you could answer at a library but an AI could not? Explain where you would look and why the AI could not reach it.
Write your answer in your lab notebook, labeled CR 5.
CR 6. Is "I can reach sources the AI can't" a good reason to learn this material? Argue yes or no, and give at least one reason from the extra reading.
Write your answer in your lab notebook, labeled CR 6.
Divide and Remainder
Open the bench, do its six jobs, then paste your credit code into the credit-code form. You can turn in up to three codes per bench; your best score is your grade.
Bench Basics opens during your class period.
The classwork form is not linked yet. Use Station View and write your answers in your lab notebook with the item labels.
This opens during your class period.