Sage-Code Laboratory

Computer Programming

Welcome to computer programming course (CSP). This is a comprehensive introduction to computer programming. It covers a wide range of topics, from basic syntax to advanced concepts. To complete this course you need to learn at least one programming language and pass the final quiz.

Audience

Anyone who wish to learn how to code, is welcome to read and follow this course.You may be student, freelancer, mentor, engineer, professor, or teacher. If you wish to learn how to code this course is for you. CSP course is beginner friendly. There is no age limit.

Benefits

This courses can help you learn the skills you need to become a peofessional coder fast. The course covers the essential syntax and semantic for various programming languages. Professional coders usually master 3 up to 5 programming languages. There are many benefits for learning several programming languages:

As ChatGPT and AI continues to develop, it will become increasingly capable of performing tasks that are currently done by human programmers. Learning multiple programming languages will help you avoid becoming obsolete. Elite programmers will still be needed to design and implement new software applications, and to solve complex problems that AI cannot.

Curriculum

Our course contains tutorials for 16 popular programming languages. We advice for beginners to start with one of these languages: Go, Julia, Dart or Python. More advanced developers, whatever other language they prefer. Selecting your first programming language is a difficult and important task. Read my external blog articles from below, to help you decide.


Programming Languages

CSP01: Go (Golang)

A statically typed, compiled language designed by Google for building efficient and reliable software. It's known for its concurrency features and strong performance, making it ideal for backend services, network programming, and cloud-native applications.

Recommended for: Beginners & Advanced

Open Course

CSP02: Julia

A high-level, high-performance, dynamic programming language for technical computing, with a syntax familiar to users of other technical computing environments. It excels in numerical analysis and computational science. Has good support for functional programming.

Recommended for: Beginners & Advanced

Open Course

CSP03: Dart

An object-oriented, class-based, garbage-collected language developed by Google. It's primarily used for building cross-platform mobile, web, and desktop applications with the Flutter framework, offering a fast development cycle and native performance.

Recommended for: Beginners & Advanced

Open Course

CSP04:Python

A versatile, high-level, multi-paradigm, interpreted programming language widely used for web development, data science, artificial intelligence, automation, and scripting. Its simple syntax and large ecosystem of libraries make it highly popular. A little bit slow.

Recommended for: Beginners & Advanced

Open Course

CSP05: Ruby

A dynamic, open source, object oriented programming language with a focus on simplicity and productivity. It has an elegant syntax that is natural to read and easy to write, commonly used for web development with the Ruby on Rails framework. A little bit slow.

Recommended for: Advanced Programmers

Open Course

CSP06: JavaScript

The foundational language for web browsers, enabling interactive and dynamic content on websites. With Node.js, it can also be used for server-side development, making it a full-stack language. JavaScript is single thread, event oriented and hosted language.

Recommended for: Beginners & Advanced

Open Course

CSP07: TypeScript

A superset of JavaScript that adds static typing to the language. It compiles to plain JavaScript and is widely used for building robust and scalable web applications, especially with frameworks like Angular, React, and Vue.js. Preffered by enterprise coders.

Recommended for: Advanced Web Development

Open Course

CSP08: Rust

A systems programming language focused on safety, speed, and concurrency. It is strongly typed, compiled language. It guarantees memory safety without a garbage collector and is widely used for operating systems, game engines, and web assembly.

Recommended for: Advanced Programming

Open Course

CSP09: Bash

A Unix shell and command language, commonly used for scripting in Linux and macOS environments. It's essential for automating tasks, managing files, and interacting with the operating system. Bash is a legacy scripting language. Most people avoid Bash for large projects and preffer Python.

Recommended for: Beginners & Advanced

Open Course

CSP10: C

A powerful, low-level programming language that provides maximum control over hardware. It's fundamental for operating systems, embedded systems, and performance-critical applications, though it requires careful memory management. Is strongly typed, structured compiled language.

Recommended for: Advanced Programming

Open Course

CSP11: C++

An extension of the C language, offering object-oriented programming features. It's widely used in game development, high-performance computing, and systems programming, balancing low-level control with high-level abstractions.

Recommended for: Advanced Programming

Open Course

CSP12: Java

A widely-used, class-based, pure object-oriented programming language designed for portability ("write once, run anywhere"). It's prevalent in enterprise-level applications, Android development, and large-scale systems. It runs in a virtual machine called JVM.

Recommended for: Advanced Programming

Open Course

CSP13: PL/SQL

Oracle's procedural extension to SQL, dialect of Ada language. It is used for developing stored procedures, functions, and triggers within Oracle databases. It allows for complex data manipulation and business logic directly within the database environment. Very fast language.

Recommended for: Advanced Databases

Open Course

CSP14: C#

A modern, object-oriented programming language developed by Microsoft, primarily used with the .NET framework. It's popular for building Windows desktop applications, web applications (ASP.NET), and game development (Unity).

Recommended for: Beginners & Advanced Games

Open Course

CSP15: Zig

A general-purpose programming language designed for robustness, optimality, and maintainability. It aims to be a better C, providing low-level control without hidden control flow or memory allocations, suitable for systems programming.

Recommended for: Low level Programming

Open Course

CSP16: Assembly

A low-level programming language that directly interacts with a computer's hardware. It's used for performance-critical tasks, embedded systems, and understanding how computers fundamentally operate, requiring deep technical knowledge.

Recommended for: Low level Programming

Open Course

Programming Quiz

For every language we provide one quiz at the end of the course, that has 100 questions each. Next quiz is a general quiz, you can take this quiz now to learn how a quiz look like. If you score more than 80% you can claim CSP "Certificate of Completion" on Ko-Fi shop or on Discord. Remember these quizzes are not exams, they are preparation quizzes designed to teach you something. Good luck!
CSP - Developer Quiz

Developer Quiz

Privacy Terms: We respect your privacy. We do not list quiz results. We do not collect e-mail addresses and do not send you unsolicited messages. Your results are stored for 42 days on a secure server for review and support. We remove all the results when we update the quiz. We do not have a back-end database that could be hacked.

Second Chance

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 return to the class and study more before next try. You can also repeat the quiz after 30 days because we prune the results regularly.

Other Languages

We've previously offered tutorials for more languages. We no longer maintain these tutorials and don't recommend these languages. If you're proficient in any of these languages and interested taking over the maintenance, please review this content. We welcome contributions.

  1. PHP - Legacy, back-end scripting language
  2. ADA - Legacy, compiled, type safe language
  3. Nim - Experimental, new type safe language
  4. Scala - Functional programming language
  5. Swift - Apple proprietary language
  6. Fortran - Legacy high-performance compiled language

Your contribution

Our tutorials have code examples stored on GitHub. We are looking for volunteers that wish to contribute. You can improve our articles and provide new examples. If you are content creator on YouTube, you can use our tutorials and examples to create new videos and presentations. We will promote your content and endorse you on Linkedin for your contribution.

Programming Books

We are excited to recommend a selection of programming books, available exclusively on Amazon, that have been specially created for Sage-Code community members. These books were developed with the assistance of AI to provide valuable learning resources. You can read these books on Kindle or any other e-reader.

Book 1 Cover
Career Development

A comprehensive guide for those new to programming.

View on Amazon
Book 2 Cover
Begin coding

Dive deep into programming paradigms with examples.

View on Amazon
Book 3 Cover
Enterprise Coding

Become professional: Learn what you need for a job.

View on Amazon
Book 4 Cover
Future Coding

Vibe coding with AI, prompt engineering and new languages.

View on Amazon

If you purchase and read any of these books, we would greatly appreciate it if you could share your feedback by posting a review on Amazon. Your honest reviews help other learners discover these resources and are incredibly valuable to us. Without it, we cannot continue to create new books. Thank you for your support.


Read next:  Projects