This course is for beginners who wish to learn about computer science and programming. You may be a student or engineer or scientist from another domain, who wish to transition into tech. Optimum age for this course is between 18 to 50. If you are older, you should do something else.
You will learn the most useful topics. First 5 articles are mandatory for any developer, before learning any programming language. Next articles between number 6 and 10 are necesary to pass Sage-Code quizzes. Last articles after 10 are optional, for system engineers and computer enthusiasts.
# | ? | Title | Complexity | Description |
---|---|---|---|---|
01 | ◕ | Programming Concepts | ★★ | Fundamental concepts of computer programming |
02 | ◑ | Numerc Algebra | ★★ | Numeric algebra and type systems used in programming |
03 | ◔ | Programming Languages | ★★ | History and evolution of programming languages |
04 | ◑ | Programming Paradigms | ★★ | Logical approach for describing and solving problems |
05 | ◔ | Developer Tools | ★★ | Integrated development environments and code editors for software development. |
06 | ◑ | Web Design | ★★★ | How to create static web pages using HTML & CSS |
07 | ◑ | Software Life Cycle | ★★★ | Explain project management methodology |
08 | ◑ | Version Control Systems | ★★★ | Explain how to save & maintain code |
09 | ◑ | Open Source Projects | ★★★ | How to contribute to open source projects |
10 | ◑ | Software Architecture | ★★★ | Higher level design principles of software design |
11 | ◔ | Software Testing | ★★★★ | Explain software testing methods and terminology |
12 | ◔ | Database Systems | ★★★★ | Introduction to database systems |
13 | ◑ | Database Design | ★★★★ | How to design a relational database |
14 | ◑ | Database Management | ★★★★ | Introduction to SQL and PL/SQL stored procedures |
15 | ◔ | Operating Systems | ★★★★ | Explain usability of different platforms |
16 | ◔ | Shell Programming | ★★★★ | Console commands and system programming using Bash. |
17 | ◔ | 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