Sage-Code Laboratory

Software Engineering

Welcome to Software Engineering introductory course (CSE). What is Software Engineering? It's a branch of computer science that deals with the design, implementation, and maintenance of complex computer programs. It consists of systematic application of engineering methods to software production. The term "software engineering" emerged in 1960s as a response to the software crisis, where software development struggled to keep up with hardware advancements.

Audience

This course is for everyone who wish to learn about computer science and programming methods. You may be a student, engineer, or scientist from another domain who wishes to transition into tech. Regardless of your age, background, or experience, we encourage you to follow this course. You can take this course even if you don't know any programming language!

Benefits

Software engineering is a rapidly growing field, and there is a high demand for qualified software engineers. If you are interested in a career in software engineering, now is the time to start learning the skills you need to succeed. At start you will feel like an impostor. Don't be warried, at the end of this course you will feel more confident. Here are some of the benefits of this course:

Curriculum

You will learn the most important topics in computer science and programming, including fundamental concepts of programming, web design, and operating systems. We also have an optional short article for hardware enthusiasts that will provide you with the knowledge and skills you need to build your own home-made computer.

Roadmap

Not all Engineers are the same. You can follow topics in random order, that covers most interesting skills for your personal customized path. You can study: web-design, software architecture, databases design or operating systems depending on your goals. However, remember: fundamentals never change. Learn the fundamentals first, before diving into advanced topics.

CSE Topic Description
01 Programming Concepts Fundamental concepts of computer programming
02 Numerc Algebra Numeric algebra and type systems used in programming
03 Programming Paradigms Logical approach for describing and solving problems
04 Programming Languages History and evolution of programming languages
05 Prompt Engineering Introduction to AI internet services
06 Data Science Introduction to statistics, and machine learning
07 Web Design How to create static web pages using HTML & CSS
08 Operating Systems Explain usability of different platforms
09 Developer Tools Integrated development environments and code editors for software development.
10 Data Structures The way we can organizing data in memory so that it can be manipulated.
11 Algorithms Integrated development environments and code editors for software development.
12 System Design Explain system design concepts and principles
13 Software Architecture Higher level design principles of software design
14 Design patterns These are reusable solutions to common software problems.
15 Tech Stack Explain features and purpose for a web tech stack and alternative stacks for APPs
16 Project Management Explain project management methodology
17 Version Control Explain how to save & maintain code
18 Open Source How to contribute to open source projects
19 Software Testing Explain software testing methods and terminology
20 Database Systems Introduction to database systems
21 Database Design How to design a relational database
22 Cybersecurity Introduction to encription, networks and firewals
23 Cloud Computing Introduction to cloud computing
24 Crafting Compilers Explain how to create a programming language

Hardware fundamentals

Understanding hardware fundamentals is essential for anyone interested in engineering and technology. This includes knowledge of electricity, electronics, devices, cables, connectors, and industry standards. In next section, we've compiled articles to help you learn the basics of computer hardware. You'll gain the skills needed to set up your own home network and prepare for a career as an independent tech professional.

Hardware

Introduction to Hardware


Prep Quiz

Test your skills with our prep quiz designed to assess your qualifications as a Software Engineer. The quiz takes about one hour to complete. Achieve a score of 80% or higher to earn the Sage-Code Engineer title. Please log in using your Google account to get started.
Engineering Quiz

Engineering Quiz

Privacy Terms: We respect your privacy. We do not list quiz results and do not make your results public. We do not collect e-mail addresses and do not send you unsolicited messages. Your results are stored for 30 days securely on Google drive for review and support.

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 repeat the class. You can take the quiz after 30 days anyhow because we prune old results.

Next Step

Have you follow this course? Good. Now is time to decide what to do next. You can continue to study here with programming courses. CSP "Computer Programming", enable you to learn several programming languages. You can get a cerification of completion and then start your own project. Before searching for a projects and jobs, learn some more and be prepared. Programmer life is competitive and challanging but rewarding. Learn and prosper!

Engineering Books

In case you want to study more, we recommend a selection of englinneering books, available on Ko-Fi shop, that have been specially created for Sage-Code community. These books were developed with the assistance of AI to provide valuable learning resources. You can read these books on any device that can display PDF. The books are free or pay what you want, but you need to be a subscriber to our shop to dowload these books. There are no ads, no tracking and no spam. Our books are updated from time to time, so you can download latest version if you are a subscriber.

Book 1 Cover
Programming Essentials

Fundamental coding concepts with Julia, Go, Python and Java.

View on Ko-Fi
Book 2 Cover
Crafting Websites

Beginner book for making web pages using HTML + CSS + JavaScript.

View on Ko-Fi
Book 4 Cover
Crafting Mobile APPs

Understanding how mobile applications are created.

View on Ko-Fi
Book 3 Cover
Crafting Databases

Become professional: Learn what you need for a job.

View on Ko-Fi

If you purchase and read any of these books, we would greatly appreciate if you could share your feedback on social media where you have account. Your honest reviews help other learners discover these resources and are incredibly valuable to us. Without it, aspirant developers will not find these books and willl not be able to learn from them. We are a small community and need your support to grow. Thank you for your help!


Read next:  Programming