-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathProficiency Checklist.rtf
68 lines (68 loc) · 4.05 KB
/
Proficiency Checklist.rtf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
{\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1033{\fonttbl{\f0\fnil\fcharset0 Calibri;}{\f1\fnil\fcharset1 Segoe UI Symbol;}{\f2\fnil Calibri;}{\f3\fnil\fcharset0 Segoe UI Symbol;}}
{\*\generator Riched20 6.3.9600}\viewkind4\uc1
\pard\sl276\slmult1\f0\fs22\lang9 D Tasks\par
\f1\lang1033\u10003?\f0\lang9 \f2 Compile an assembly program with gcc\par
\f1\lang1033\u10003?\f3 \f2\lang9 Use the debugger to step through a program\par
\f1\lang1033\u10003?\f3 \f2\lang9 Use the debugger to look at the contents of registers\par
\f1\lang1033\u10003?\f2\lang9 Use the debugger to look at the contents of memory\par
\f1\lang1033\u10003?\f2\lang9 Set a break point in the debugger\par
\f1\lang1033\u10003?\f2\lang9 Output text to the console using printf\par
\f1\lang1033\u10003?\f2\lang9 Output non-text data to the console as text using printf\par
\f1\lang1033\u10003?\f2\lang9 Get input from the console using scanf\par
\f1\lang1033\u10003?\f2\lang9 Execute a system call\par
\f1\lang1033\u10003?\f2\lang9 Create static data in memory\par
\f1\lang1033\u10003?\f2\lang9 Create a global variable\par
\f1\lang1033\u10003?\f2\lang9 Create a local variable on the stack\par
\f1\lang1033\u10003?\f2\lang9 Do simple math (add, subtract, multiply, divide)\par
\f1\lang1033\u10003?\f2\lang9 Create a loop\par
\f1\lang1033\u10003?\f2\lang9 Create an if statement\par
\f1\lang1033\u10003?\f2\lang9 Create a function\par
\par
C Tasks\par
\f1\lang1033\u10003?\f2\lang9 Write a program that compiles with as/\f0\lang1033 ld\f2\lang9 , without C libs\par
\f1\lang1033\u10003?\f2\lang9 Create a struct\par
\f1\lang1033\u10003?\f2\lang9 Create a while loop\par
\f1\lang1033\u10003?\f2\lang9 Create a for loop\par
\f1\lang1033\u10003?\f2\lang9 Create an if/else statement\par
\f1\lang1033\u10003?\f2\lang9 Create an if/elseif/else statement\par
\f1\lang1033\u10003?\f2\lang9 Create a function that returns some value\par
\f1\lang1033\u10003?\f2\lang9 Create a function that takes an argument by value\par
\f1\lang1033\u10003?\f2\lang9 Create a function that takes an argument by reference\par
\f1\lang1033\u10003?\f2\lang9 Cast from byte to short\par
\f1\lang1033\u10003?\f2\lang9 Cast from short to int\par
\bullet Do simple math with bytes\f0\lang1033 (add, sub, mul, div)\f2\lang9\par
\bullet Do simple math with shorts\f0\lang1033 (add, sub, mul, div)\f2\lang9\par
\bullet Do simple math with long (64 bit) integers\f0\lang1033 (add, sub, mul) \{div?\}\f2\lang9\par
\par
B Tasks\par
\bullet Allocate heap memory using malloc\par
\bullet Create a function that takes more than 4 arguments\par
\bullet Create a function with floating point arguments\par
\bullet Use a system call to output data to the console\par
\bullet Use a system call to get input from the console\par
\bullet Use floating point SIMD to perform parallel math\par
\bullet Write a simple program using only Thumb2 instructions\par
\bullet Create a while loop using Thumb2 instructions\par
\bullet Create a for loop using Thumb2 instructions\par
\bullet Create an if/else statement using Thumb2 instructions\par
\f1\lang1033\u10003?\f2\lang9 Cast from int to long\par
\bullet Create and traverse an array\par
\bullet Write the following utility functions (without C libs)\par
\f1\lang1033\u9702?\f0 Return whether an int is a power of 2 or not\par
\f1\u9702?\f0 Use a system call to output text to console\par
\f1\u9702?\f0 Use a system call to output an integer to console\par
\par
A Tasks\par
\f2\bullet Allocate heap memory using the brk system call\par
\bullet Allocate heap memory using the mmap\f0 2\f2 system call\par
\bullet Use system calls to output data to a file\par
\bullet Use system calls to get input from a file\par
\bullet Create a simple object using a struct and a set of functions\par
\bullet Create an object type that inherits from the first\par
\bullet Solve the vector code optimization problem\par
\bullet Optimize the power of 2 test function\par
\bullet Create a select block\par
\bullet Do something with GPIO pins (LED for example)\par
\bullet Boot Pi into your own kernel that does something\f0\lang9\par
}