Data structures
Hardware
Bit Fiddling
Other
100

a user-defined data type that allows you to group together different variables, defines, functions, arrays etc. under a single name. Each  is called a field and can be used to model or describe a real object.

What is a structure?

100

ATMEGA328P

What microcontroller is embedded in the Arduino board? 


100

ON THE BOARD!

one line of code that would make Port C bits 1 and 3  in input mode without changing any other direction bits?

DDRC &= ~0x0A


100

An example of how, in computational programming, utilizing fixed point math involves representing and manipulating numerical values with a predetermined number of decimal places.

to simplify algorithmic calculations, such as in a sin table, or in audio processing, or just to simplify money calculations by doing everything in cents and placing the decimal sign to separate cents from dollars at the very end.

200

typically an array that stores precomputed values or results for specific inputs. Instead of recalculating these values every time they're needed, the program can simply look them up in the table.

what is a lookup table?

200

This type of memory on an Arduino Uno board is used for storing the program code, commonly referred to as the sketch. 

for an extra 100 points, name another type of memory on an arduino board

What is flash memory?


bonus: SRAM, EEPROM,

200
on the board!

A line that will write a logic HIGH to Port D bit 4 is the pin is already configured as an output


PORTD |= 0x10; 

digitalWrite(4, HIGH);

200

In this type of computer architecture, instructions tend to be complex, allowing multiple operations to be performed in a single instruction, often resulting in fewer instructions needing to be sent to the processor and reducing bottlenecks


What is CISC (Complex Instruction Set Computing)?

300

a file that stores important function definitions and other info related to a particular board or program. Usually contains a header guard such as

#ifndef Arduino_h
#define Arduino_h

What is a header file?

300

This protocol serves a crucial role in facilitating bidirectional serial communication between the Arduino and external devices, enabling tasks such as data transmission and synchronization with the host via USB connection

What is USART?

300

certain memory addresses are assigned to represent control and data registers of peripheral devices, such as sensors, LEDs, or motors, instead of using separate instructions for I/O operations. In Arduino, this means that you can interact with external devices by reading from or writing to specific memory addresses, similar to accessing variables in your program

What is memory mapped I/O?

300

In this type of computer architecture used by the Arduino, instructions are simplified, executing fewer operations per instruction, but sending more total instructions into the processor

What is RISC (reduced instruction set computing)

400
two ways to get a variable out of a structure


structure.field and

structure-> field respectively


what are pass by value and pass by reference?

400

For smaller-scale embedded projects requiring real-time control and low power consumption, you might opt for this microcontroller platform. Meanwhile, for projects demanding higher processing power, multimedia capabilities, and advanced computing tasks, you'd likely lean towards this single-board computer platform. 

What are the Arduino and Raspberry Pi respectively?



500

In C programming, this data structure consists of a sequence of elements where each element points to the next, forming a chain-like structure.

What is a linked list?

500

Two specialized registers on the arduino that don't set or clear I/O pins

status register (SR or SREG), program counter (PC) and Stack pointer (SP)