Embedded Systems: A Comprehensive Guide to Architecture, Peripherals, and IoT Frameworks

Week 1, Session 1: Embedded Systems

What is an Embedded System?

  • Purpose-built system/application serving a specific purpose/application
  • Minimizes cost/size/energy consumption
  • Resource-constrained

Microcontroller Unit (MCU)

  • Single Chip
  • Processor + Memory + I/O
  • Application Specific
  • Low power consumption

e.g., digital thermometer, washing machine

Microprocessor Unit (MPU)

  • General purpose
  • Requires external components
  • High computational power
  • Versatile but power-consuming

e.g., laptops, servers, high-end drives

MCU vs

Read More

Java Inheritance and Interfaces

Levels of Inheritance

3-Level Hierarchy

Java supports multi-level inheritance, where a class inherits from another class that inherits from a base class. For example:

class Animal {  void eat() {         System.out.println("Eating...");     }} class Dog extends Animal { void bark() {         System.out.println("Barking...");     }}  class Labrador extends Dog { void color() {         System.out.println("Labrador is golden in color.");     }} public class Main {     public static 
Read More

Operating System Concepts: Memory Management, File Systems, and Processes

1 – Logical vs. Physical Address Space and Memory Allocation

Logical Address

A logical address, or virtual address, is generated by the CPU during program execution. It’s a reference point within the program’s address space and doesn’t correspond to a physical memory location.

Physical Address

A physical address specifies the actual location of data in memory. The Memory Management Unit (MMU) translates logical addresses to physical addresses before accessing data.

Drawbacks of Contiguous Memory Allocation

  • External
Read More

AP Computer Science A: Java Review & Free-Response Questions

AP COMPUTER SCIENCE 2020 CHEAT SHEET – WILLIAM KONG

1) Strings

A string is a line of text, an object in Java, defined by the String class.

String concatenation – Use the + operator to add multiple strings or numbers.

A string is an array of characters.

Methods of the String Class

  • int length() – Returns the length of the string.
  • String substring(int from, int to) – Returns a substring from the specified starting index (inclusive) to the ending index (exclusive).
  • String substring(int from) – Returns a substring
Read More

Understanding Data Units, Python, R, Excel, and SQL

Understanding Data Units

Common Data Units

Bit (b): The smallest unit of data storage, representing a binary digit (0 or 1).

Byte (B): A group of 8 bits, typically representing a single character.

Kilobyte (KB): 1,024 bytes.

Megabyte (MB): 1,024 KB.

Gigabyte (GB): 1,024 MB.

Terabyte (TB): 1,024 GB.

Petabyte (PB): 1,024 TB.

Exabyte (EB): 1,024 PB.

Zettabyte (ZB): 1,024 EB.

Yottabyte (YB): 1,024 ZB.

Python Basics

Key Concepts

  • Python is case-sensitive.
  • Indentation is crucial for code blocks.
  • The print() function outputs
Read More

Understanding Computer Networks: Communication Structures, Protocols, and Design

Communication Structures

Key Elements:

  • Naming and Name Resolution: Identifies processes with host and process IDs, utilizing DNS.
  • Routing Strategies:
    • Fixed Routing: Predefined path from source to destination.
    • Virtual Circuit: Fixed path for a single session.
    • Dynamic Routing: Path determined at the time of message sending.
  • Connection Strategies:
    • Circuit Switching: Dedicated physical link for the duration of communication (e.g., mobile phones).
    • Message Switching: Temporary link for a single message transfer
Read More