ECE Anki Cards Flashcards
What does computing even mean?,
Computing refers to using algorithmic, mathematical, or logical processes to manipulate and process information, historically evolving from mechanical calculation to complex digital computation.
Why do we use base 10 (decimal) in everyday life?,
Because humans have historically counted using their ten fingers, making base 10 a natural and intuitive system for everyday arithmetic.
Why do we perform computation in base 2 (binary) in modern computers?,
Modern computers use binary (0s and 1s) because it directly corresponds to the on/off states of electronic components, making it reliable and efficient for digital circuits.
What did the term ‘computer’ mean back in the 1800s?,
In the 1800s, a ‘computer’ referred to a person who performed calculations by hand or with mechanical tools.
What was Babagge’s main motivation for working on a mechanical computer?,
Charles Babbage wanted to reduce human calculation errors by automating arithmetic with a reliable, mechanical computing machine.
Why do we perform computations in electrical forms instead of mechanical forms?,
Electrical signals switch much faster, scale down more easily, and are more reliable and efficient than mechanical components.
What are the two main inventions that revolutionized computing? Why are they important?,
Transistors and integrated circuits revolutionized computing by making it possible to create smaller, faster, more reliable, and more powerful computing devices.
What’s the benefit of a transistor over a vacuum tube?,
Transistors are smaller, produce less heat, consume less power, are more reliable, and switch faster than vacuum tubes.
Why do computational demands get heavier as time goes by?,
As technology and needs evolve, we tackle more complex problems and process larger data sets, continually increasing computational requirements.
When will we have enough computation? How much is enough?,
There is no fixed point at which computation is ‘enough.’ As capabilities grow, new applications emerge, perpetually increasing demand.
How do you define a computer?,
A computer is an electronic device that accepts input, processes data according to instructions, stores information, and produces output.
State two example of input devices.,
Keyboard, Mouse.
State two example of output devices.,
Monitor, Printer.
What does ‘CPU’ stand for? What is the role of CPU?,
CPU stands for Central Processing Unit. It executes instructions, performs arithmetic/logic operations, and acts as the ‘brain’ of the computer.
Why do modern computers need ‘memory’?,
Memory stores instructions and data for quick access, enabling the CPU to execute programs efficiently.
What does ALU stand for? Where do the terms ‘Arithmetic’ and ‘Logic’ come from?,
ALU stands for Arithmetic Logic Unit, named because it performs arithmetic operations (e.g., addition) and logical operations (e.g., comparisons).
What parameters distinguish different CPUs? state two parameters.,
Parameters include clock speed (in GHz) and number of cores.
What does ISA stand for? What does it mean?,
ISA stands for Instruction Set Architecture, defining the set of instructions and operations a CPU can execute.
Why do we need both ‘RAM’ and ‘SSD’?,
RAM is fast, volatile memory for active computation, while SSD provides slower but persistent, non-volatile storage for programs and data.
What does memory hierarchy mean? How can it improve performance? Make a real-life analogy.,
The memory hierarchy layers storage by speed and cost (registers, cache, RAM, SSD/HDD). Frequently used data stays in faster memory to improve performance. Analogy: Like keeping frequently needed items on your desk and less-used documents in a filing cabinet.
How many different things can you encode with n bits?,
2^n different values.
What does a program mean?,
A program is a sequence of instructions a computer can execute to perform a task.
What does software mean?,
Software is a collection of programs, data, and instructions that run on hardware, enabling various functionalities.
What is an operating system?,
An operating system manages hardware resources, provides common services for software, and facilitates user interaction with the computer.
State two roles of the operating system.,
Managing resources (CPU, memory, I/O) and providing interfaces (GUI, CLI) for users and applications.
What does ‘standard input’ refer to? what does ‘standard output’ refer to?,
Standard input typically refers to the keyboard input stream. Standard output typically refers to the screen/console output stream.
What does ‘GUI’ stand for? what does it mean?,
GUI stands for Graphical User Interface, an interface that uses visual elements like windows and icons.
What does ‘CLI’ stand for? What does it mean?,
CLI stands for Command Line Interface, an interface where the user types text commands.
What does the drone hovering condition mean?,
Hovering means the drone stays stable in mid-air, not moving up, down, or sideways.
Why do we need propellers on a drone? At a high level, how could a drone fly upwards? How could it move left or right? How could it land?,
Propellers generate lift. Increasing propeller speed lifts the drone, adjusting thrust distribution moves it sideways, and reducing thrust allows it to descend and land.
Why do the rotational direction of propellers matter for a stable flight operation?,
Opposite rotational directions counteract torque, preventing uncontrolled spinning and ensuring stable flight.
What does ‘Abstraction’ mean? How is it useful?,
Abstraction hides complexity by providing simpler interfaces, making systems easier to understand, use, and maintain.
What does programming even mean?,
Programming is creating a set of instructions that a computer follows to perform tasks or solve problems.
Why do we need programming languages?,
They provide a human-readable way to write instructions for computers and bridge the gap between human logic and machine execution.
What does ‘machine code’ or ‘object code’ mean?,
Machine code is the low-level, binary form of a program that the CPU can execute directly.
What is the difference between a high-level and a low-level programming language?,
High-level languages are more abstract, human-readable, and portable. Low-level languages are closer to hardware, less portable, and harder to read.
Which one is portable? Which one is more human readable? Which one needs a comprehensive knowledge of hardware? etc.,
High-level languages are portable and human-readable; low-level languages require deep hardware knowledge.
What is the difference between a compiler and an interpreter?,
A compiler translates the entire program before execution; an interpreter executes the program line-by-line at runtime.
Which one is faster? Which one is more interactive?,
Compiled programs often run faster; interpreters are more interactive and suitable for rapid development.
What does Java’s ‘WORA’ concept mean?,
‘Write Once, Run Anywhere’ means Java code can run on any platform with a compatible JVM, without modification.
What was the main motivation behind Java’s invention?,
To create a portable, secure, and network-friendly language suitable for a wide range of devices and environments.
Define the following terms associated with a programming language: Universality (Turing Completeness), Syntax, Semantics,
Universality (Turing Completeness) means the language can theoretically solve any computable problem. Syntax defines the structure of code. Semantics defines the meaning or behavior of that code.
How does Java aim to implement the ‘WORA’ concept?,
By compiling source code into platform-independent bytecode that runs on the JVM, ensuring code portability.
What is the name of the java compiler?,
The Java compiler is called ‘javac’.
What does a byte code mean?,
Bytecode is a platform-independent intermediate code executed by the JVM.
What does JVM stand for? On a high-level, what’s the job of JVM?,
JVM stands for Java Virtual Machine. It runs Java bytecode, provides memory management, and ensures platform independence.
What does an IDE stand for? What’s its job?,
IDE stands for Integrated Development Environment. It provides tools (editor, debugger, compiler) to streamline software development.
What does a Java package mean?,
A package is a namespace to group related classes and avoid naming conflicts.
Which package is imported by default?,
java.lang is imported by default.
What does Java class library mean?,
It’s a collection of pre-written classes and interfaces providing core functionality (data structures, I/O, networking, etc.).
What does ‘import java.util.ArrayList;’ do?,
It allows the direct use of the ArrayList class without needing to fully qualify its name.
What does ‘import java.util.*’ do?,
It imports all classes and interfaces in the java.util package.
What are the purpose of adding comments to codes? How can you make a single line or multi-line comment?,
Comments clarify code. Single-line: // comment. Multi-line: /* comment */.