Unit 1 - Coding Part 1
Unit 1 - Coding Part 2
Unit 2 - Computer Organization
Unit 3 - System Fundamentals
Unit 4 - Networks
100

These are the four pillars of OOP

What are Abstraction, Encapsulation, Inheritance, and Polymorphism?

100

This is the difference between a primitive and non-primitive variable

A primitive variable stores the actual value itself, while a non-primitive variable stores a reference (or memory address) to where the object is located?

100

Describe the directionality for each of the three internal system buses: Address, Data, and Control.

Address (Unidirectional), Data (Bidirectional), and Control (Bidirectional)

100

Compare two differences between bespoke and off-the-shelf software

Bespoke: Made just for you so tailored to your specific needs. Very expensive. May require special training.

Off-the-shelf: Made for a general audience so won't have everything you need. Cheap. Skilled workers readily available.

100

This is the definition of the acronym PAN

What is a personal area network?

200

This is the initialization of an int array of size 5 named "nums"

int[] nums = new int[5];

200

This process is required when converting a larger data type (like a double) into a smaller one (like an int), which may result in data loss.

What is Explicit Casting (or Narrowing)?

200

Explain the step-by-step process of the Fetch stage in the Fetch-Decode-Execute cycle, specifically mentioning the roles of the Program Counter (PC), MAR, and MDR.

"The Address: The address of the next instruction is copied from the Program Counter (PC) to the Memory Address Register (MAR).

The Request: The MAR sends that address to RAM via the Address Bus.

The Return: The instruction at that address is sent back from RAM to the Memory Data Register (MDR) via the Data Bus.

The Increment: The PC increments by 1 to point to the next instruction."

200

Name the four primary strategies used by organizations to switch from a legacy system to a newly developed system.

What are Direct, Parallel, Pilot, and Phased?

200

This is the difference between Peer to Peer (P2P) and other communication methods

Peer-to-Peer (P2P) is a decentralized network where every computer acts as both a client and a server, sharing its own resources (like bandwidth and files) directly with others. Unlike the Client-Server model, there is no central "boss" or single point of failure; as more peers join, the network actually becomes faster and more powerful rather than slowing down.

300

To the compiler, a Method Signature is defined specifically as these two components of a method's declaration.

What are the method name and the parameter list?

300

This programming feature allows a class to have multiple methods with the same name, as long as they have different parameter lists.

"What is Method Overloading?

Bonus: Method Overloading VS Overriding"

300

Compare Primary Memory (RAM, ROM, Cache) and Secondary Memory (HDD, SSD) based on their volatility, speed, and whether the CPU can access them directly.

Primary Memory

  • Registers: Volatile, Fastest, Direct Access (Inside CPU).

  • Cache: Volatile, Very Fast, Direct Access.

  • RAM: Volatile, Fast, Direct Access.

  • ROM: Non-Volatile, Fast, Direct Access.

Secondary Memory

  • HDD/SSD: Non-Volatile, Slow, No Direct Access (Must be loaded into RAM first).

300

Compare and contrast two methods of user documentation (One pro and one con each)

Accepted Documentation Types: Paper Manuals, Online Manuals, Interactive Tutorials, Dedicated Support Teams, anything else Ms. Nahar deems necessary

Points given at Ms. Nahar's discretion

300

This is the function of an extranet

An extension of an organization's LAN, allowing controlled access to outsiders (e.g., suppliers).

400

Explain one hardware-related reason why iterating through an array is generally faster than iterating through a dynamic structure like a Linked List.

Because arrays are contiguous (stored in one solid block), which allows the CPU to use spatial locality or caching to pre-load elements.

400

What is Immutability for strings?

In Java, Strings are described by this term, meaning that once a String object is created in memory, its value cannot be changed; instead, a brand-new object is created in the String Pool.

400

Compare the two methods a CPU uses to handle input from external devices: Polling and Interrupts.

Gemini said
Polling involves the CPU repeatedly checking a device's status. The pro is its simplicity, as it requires no complex hardware to manage. The con is that it is highly inefficient, wasting CPU cycles on constant checks even when the device is idle.
Interrupts allow a device to signal the CPU only when it needs attention. The pro is much higher efficiency, as the CPU can focus on other tasks until a request occurs. The con is the "overhead" caused by the ISR, which requires the CPU to pause, save its current state to a stack, and then reload it later.

400

Explain the primary function of the Domain Name System (DNS) and describe the process that occurs when a user types a URL

The system that translates human-readable domain names into IP addresses? It works by looking up the name in a distributed database of DNS servers to find the specific numerical address needed to route data to the correct web server.

400

Name Three Levels of OSI

In Order of Level: Physical, Data Link, Network, Transport, Session, Presentation, Application

500

Explain the two-step process of inserting a new node (C) between two existing nodes (A) and (B)

Step 1: Point the new node's "next" pointer to the second node (C.next = B).
Step 2: Point the first node's "next" pointer to the new node (A.next = C).
(Or any diagram or valid solution)

500

Write a recursive method fib(n) that returns the Nth number in the Fibonacci sequence (where fib(0)=0 and fib(1)=1). You must include both the recursive relation and the two necessary base cases.

public int fib(int n) {

if (n == 0) return 0;

if (n == 1) return 1;

return fib(n - 1) + fib(n - 2);

}

500

Explain the concept of Paging in memory management, and how it allows a program to run even if its data is scattered across different, non-contiguous areas of RAM.

Fixed-Size Blocks: The OS divides physical memory (RAM) into fixed-size blocks called Frames and divides logical memory (the program) into blocks called Pages.
The Mapping: A Page Table keeps track of which "Page" of the program is stored in which "Frame" of the RAM.
The Benefit: This allows for non-contiguous storage, meaning the OS can put pieces of a program wherever there is a tiny bit of free space, rather than needing one massive, solid block of empty memory.

500

Explain four properties of Software as a Service (SaaS)

Acceptable Answer: Remote Hosting Services, Remote Processing, Thin Client, Local UI, Internet Reliance, Ongoing Subscription, Cloud Storage, Centralized Management

500

Differentiate between metal conductors, fiber optics, and wireless methods of transporting data

(Whatever is acceptable, I'm too lazy/tired to type them out I trust I'll remember them)

M
e
n
u