(Updated August 3, 2024) This textbook follows a few basic teaching paradigms, which are as follows: Constructivism – the premise that learning occurs through the physical building (construction) of solutions. Therefore, this is a project-based approach. Throughout this textbook, there are two primary subplots. During what would be considered the first half of the semester … Read More “Introduction” »
Author: William Jojo
January 2025 When I first began teaching, I knew nothing about how people learn, save one person – myself. The way I learned was nearly never the same as how others learned. So, after a couple of decades of honing my craft, I decided it was high time I invested in myself. My masters work … Read More “Acknowledgements” »
CISS-111 Project 5 Write a Java program to demonstrate the use of linked lists further. Learning outcomes Working with Linked Lists. Reworking existing code to use a different data type. Working with Nodes and how to arrange them based on certain criteria. Working with databases. Working with exceptions. Confirmation program produces desired results. Setup Set … Read More “CISS-111 Project 5” »
UNDER CONSTRUCTION!! UNDER CONSTRUCTION!! UNDER CONSTRUCTION!! UNDER CONSTRUCTION!! (Updated April 1,2023) Overview Compared to the BIOS version of Write Your Own OS, this tutorial is a bit more involved. So, we will start with installing anything we need right away. sudo apt update && sudo apt install build-essential qemu-system-x86 mtools git This includes the OVMF … Read More “Write Your Own OS! (UEFI/GPT)” »
(Updated March 13, 2023) Overview Writing an operating system (OS) is no small feat. Ask Linus Torvalds. First, you must be able to store the OS on some medium that is durable and persistent, then you must write code that makes the OS start upon powering on the hardware on which it is intended to … Read More “Write Your Own OS! (BIOS/MBR)” »
(Updated February 8, 2025) Overview In case anyone is having trouble getting started, here are a few screenshots of how your environment in IntelliJ must look. Here is the view with the TokenType enumeration. Another view with the main code. And a final view with the 6502 test program. The Record section of the textbook … Read More “CISS-111 Project 2 Getting Started” »
(Updated July 26, 2024) Overview I ask my students to write reflective journals throughout the semester to provide a mechanism of recognition about how they are (not) learning topics. This is a fantastic exercise to begin a deeper understanding of our minds. We are genuinely linking our thinking process to the details of how we … Read More “About Metacognition” »
People who know me are familiar with how, generally, I’m not too fond of clever solutions. This is because clever ones often are flawed in some subtle way that leads to bugs later. I prefer clear, precise solutions. The situation below was a little different, and now I task you with solving the same problem … Read More “Your first example of a clever solution.” »
CISS-111 Project 2 Write a Java program to demonstrate using Vector, ArrayList, enumerations, regular expressions, and record. You will create a program to perform basic parsing of a 6502 assembly language program. Learning outcomes Working with files. Building enumerations. Working with enumeration methods. Working with strings and parsing. Working with Java records. Exposure to predefined … Read More “CISS-111 Project 2” »
CISS-110 Project 4 This is the game of Boulder, Parchment, Shears! Yes, the one from Critical Role based on Rock, Paper, Scissors. This project deals with a range-based for loop where we know the exact number of times a loop will iterate (perform the associated block of code). You will also use an if/else construct … Read More “CISS-110 Project 4” »