-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
c1608b6
commit d287a3d
Showing
1 changed file
with
18 additions
and
89 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,91 +1,20 @@ | ||
# Introduction to embedded engineering: | ||
|
||
### Lecture 1: Introduction to Embedded systems and C programming language: | ||
|
||
- [ ] What's embedded systems about ? | ||
- [ ] C programming language. | ||
- [ ] Basic C program structure. | ||
- [ ] Hello world in C. | ||
- [ ] Variables in C. | ||
|
||
> Assigned to [Youssef] | ||
----------------------------------------------------------------- | ||
### Lecture 2: Basic Operations and conditional statements in C: | ||
|
||
- [ ] Arithmetic operations in C. | ||
- [ ] Logical, Operand, Bitwise and Assignment operations. | ||
- [ ] If condtions, nested if...else and switch...case. | ||
|
||
> Assigned to [Youssef] | ||
----------------------------------------------------------------- | ||
### Lecture 3: Loops in C: | ||
|
||
- [ ] For Loops. | ||
- [ ] While Loops. | ||
- [ ] do...while loops. | ||
- [ ] Loop control/Jump statements (break, continue, goto, return). | ||
|
||
> Assigned to [Mina] | ||
----------------------------------------------------------------- | ||
### Lecture 4: Functions in C: | ||
|
||
- [ ] Functions prototypes. | ||
- [ ] Functions definitions. | ||
- [ ] Functions parameters (types and names). | ||
|
||
> Assigned to [Ahmed] | ||
----------------------------------------------------------------- | ||
### Lecture 5: Arrays in C: | ||
|
||
- [ ] Uni-dimensional arrays. | ||
- [ ] Multi-dimensional arrays. | ||
- [ ] C-Strings (intro). | ||
|
||
> Assigned to [Taher] | ||
----------------------------------------------------------------- | ||
### Lecture 6: Pointers in C: | ||
|
||
- [ ] Allocating/De-allocating a pointer | ||
- [ ] Pass by reference V.S. Pass by value in function parameters. | ||
- [ ] Operations on pointers. | ||
- [ ] Operations on pointers V.S. Accessing Arrays members. | ||
- [ ] Types of pointers (Generic, Ageneric). | ||
- [ ] Pointer of a function. | ||
- [ ] Pointer of Pointers. | ||
|
||
> Assigned to [Ahmed] and [Pavl] | ||
----------------------------------------------------------------- | ||
### Lecture 7: User-defined datatypes in C: | ||
|
||
- [ ] Structures. | ||
- [ ] Unions. | ||
- [ ] Enums. | ||
- [ ] Typedef. | ||
|
||
> Assigned to [Taher] | ||
----------------------------------------------------------------- | ||
### Lecture 8: Macros (Preprocessor-directives), Type Qualifiers (cv-qualifiers) & Storage-class specifiers: | ||
|
||
- [ ] Pre-processor directives and constants (`#include`, `#ifdef`, `#ifndef`, `#pragma`, `#define` and `#undefine`). | ||
- [ ] Type qualifiers (`const` and `volatile`). | ||
- [ ] Storage class specifiers (`static`, `auto`, `extern` and `register`). | ||
|
||
> Assigned to [Youssef] and [Pavl] | ||
----------------------------------------------------------------- | ||
### Lecture 9: Scopes in C: | ||
|
||
- [ ] Global Scope. | ||
- [ ] Local Scope (curly brackets components, blocks, functions, loops, structs, unions). | ||
- [ ] Namespaces (uses, scoping, examples). | ||
|
||
> Assigned to [Taher] | ||
----------------------------------------------------------------- | ||
### Lecture 10: Native program building process: | ||
|
||
- [ ] Pre-processing. | ||
- [ ] Compilation (and static linking). | ||
- [ ] Assembler. | ||
- [ ] Linker (dynamic). | ||
- [ ] Runtime. | ||
|
||
> Assigned to [Mina] and [Pavl] | ||
## Prologue: | ||
Excel your embedded systems skills by building a good base. A good base starts from a good grasp of the C programming language, general and digital electronics, boolean algebra, programmable devices, and programmable interfaces. In addition, data structures, algorithms and design patterns, known collectively as software design and architecture, are useful adjuncts that will a good embedded software engineer. | ||
|
||
## Chapters: | ||
- [x] An introduction to the C programming language from an embedded perspective. | ||
- [ ] General electronics fundamentals. | ||
- [ ] Construction of general electronics circuits. | ||
- [ ] Digital electronics fundamentals and boolean algebra. | ||
- [ ] Programmable devices. | ||
- [ ] Programmable interfaces. | ||
- [ ] Software design. | ||
- Common DSA. | ||
- Common Design patterns. | ||
- Anti-patterns. | ||
- Finite-state-automaton. | ||
- Dependency Injection. | ||
|
||
## Appendix: |