This course is for any developer or beginner that have little or no knowledge about computer programming. In this class we will prepare you with fundamental know-how that you can use to create design and implement higher quality software and avoid catastrophic defects.
We have selected the most useful topics every developer should know about. First 4 articles are mandatory. Next articles between number 5 and 10 are more advanced but required for Sage-Code certified developers. Last articles after 10 are optional, only for system engineers and computer enthusiasts.
# | ? | Title | Complexity | Description |
---|---|---|---|---|
01 | ◕ | Programming Concepts | ★★ | Fundamental concepts of computer programming |
02 | ◑ | Programming Paradigms | ★★ | Logical approach for describing and solving problems |
03 | ◔ | Programming Languages | ★★ | History and evolution of programming languages |
04 | ◔ | Developer Tools | ★★ | Integrated development environments and code editors for software development. |
05 | ◑ | Web Design | ★★★ | How to create static web pages using HTML & CSS |
06 | ◑ | Software Life Cycle | ★★★ | Explain project management methodology |
07 | ◑ | Version Control Systems | ★★★ | Explain how to save & maintain code |
08 | ◑ | Open Source Projects | ★★★ | How to contribute to open source projects |
09 | ◑ | Software Architecture | ★★★ | Higher level design principles of software design |
10 | ◔ | Software Testing | ★★★★ | Explain software testing methods and terminology |
11 | ◔ | Database Systems | ★★★★ | Introduction to database systems |
12 | ◑ | Database Design | ★★★★ | How to design a relational database |
13 | ◑ | Database Management | ★★★★ | Introduction to SQL and PL/SQL stored procedures |
14 | ◔ | Operating Systems | ★★★★ | Explain usability of different platforms |
15 | ◔ | Shell Programming | ★★★★ | Console commands and system programming using Bash. |
16 | ◔ | Crafting Compilers | ★★★★ | Explain how to create a programming language |
? | coverage | skill level |
# | = importance | ★★★ = orange belt |
◷ | = started | ★★★ = red belt |
◔ | = basic | ★★★ = green belt |
◑ | = intermediate | ★★★ = blue belt |
◕ | = advanced | ★★★ = brown belt |
✪ | = extensive | ★★★ = black belt |
Software will not be possible without hardware. This may be your workstation, personal computer, server or mobile device. A good Software Engineer must be familiar with all programable devices. We have put together several high level topics for getting yourself familiar with the hardware. Before taking our quiz, make sure you read this article:
You can take this quiz only once. After first try, you can request support on Discord. An instructor can review your answers and reset your score so you can try this exam a second time. If you fail a second time we assume you have not follow the class properly so you should repeat the class.
We have set-up an Open Source project for this course. You can contribute on our Discussions on GitHub. We appreciate any reported issue to improve our tutorials. You can suggest new topics and provide links to resources that could bee useful to study. Your help is appreciated!
Read next: Programming