Skip to main content

Software Engineering Beginner Fundamentals

14h 43m 9s
English
Paid

Embark on Your Software Engineering Journey with Strong Foundations

In the world of software engineering, possessing a robust knowledge base is crucial. Starting with the basics prevents you from being overwhelmed by the vast array of technologies and helps you establish a framework for further growth and understanding. This foundational knowledge serves as the bedrock for your future learning endeavors.

Course Overview

The Software Engineering Beginner Fundamentals course is designed to equip you with essential knowledge and skills, paving the way for a successful career in software development.

Key Learning Objectives

  • Understand the basics of computing and computer architecture.
  • Learn about programming languages and number systems.
  • Gain proficiency in navigating the terminal and the most important Unix/Linux commands.
  • Master Git and GitHub for effective version control.
  • Get acquainted with documentation and Markdown.

Practical Experience

  • Create your first programs and learn algorithm fundamentals.
  • Work with both SQL and NoSQL databases.
  • Delve into web development and application building.
  • Deploy your personal portfolio site.
  • Explore APIs, automated testing, and implement CI/CD.

Modern Technologies and Tools

  • Develop skills in JavaScript and TypeScript.
  • Explore Docker, Rust, and Go.
  • Understand parallel programming and more advanced technologies.

Benefits of the Course

  • Acquire a comprehensive understanding of basic and intermediate programming principles.
  • Learn to write clean, secure, and scalable code.
  • Gain hands-on experience in application development, database management, and working with APIs and infrastructure.
  • Create a portfolio website that stands out to potential employers.
  • Participate in a capstone project and additional bonus projects to reinforce your learning.

Your Pathway to a Bright Future in Software Engineering

This course is akin to obtaining a “computer science degree in a nutshell.” With a step-by-step plan informed by over a decade of industry experience, you'll effectively transition from novice to professional software engineer. All you need is the determination to learn and implement the knowledge you gain.

About the Author: Caleb Curry

Caleb Curry thumbnail
When I started my career in the field of development, I was completely confused. I didn't know what exactly to study, what to expect, and how to truly improve. I really wished there was someone by my side who could help build the path to success. Over time, I realized: mastering technologies is only part of the task. The real challenge lay in discipline, in understanding what exactly needs to be studied, and in maintaining self-confidence. Today, more than 10 years later, I am still passionate about programming and enthusiastically learning new technologies. But now I learn not only from successes but also from my mistakes. My mission is to become a guide for those who are now at the same stage I once was. It doesn't matter where you come from, how old you are, or what experience you have: I am sure that everyone is capable of mastering programming and changing their life for the better.

Watch Online 51 lessons

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 51 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: 1.1. Computers and Hardware
All Course Lessons (51)
#Lesson TitleDurationAccess
1
1.1. Computers and Hardware Demo
26:31
2
1.2. Operating Systems
09:01
3
1.3. Types of Software
23:00
4
1.4. Types of Languages
16:56
5
1.5. Intro to Binary
10:39
6
1.6. Bytes and Fractional Numbers
17:57
7
1.7. Hex and Octal
11:55
8
1.8. Errors
09:09
9
1.9. Logic Errors and Debugging
13:23
10
1.10. Security and Software Testing
30:06
11
2.1. Terminal Setup and WSL
12:38
12
2.2. Linux Commands
16:28
13
2.3. Linux Permissions and Ownership
20:40
14
2.4. Code Editor Setup
12:11
15
2.5. Bash Scripting
29:50
16
2.6. Git
22:39
17
2.7. GitHub, Merge, Fast Forward, Rebase
16:53
18
2.8. Branches, Merge Confli, Forks, and PRs
19:37
19
2.9. Markdown
17:47
20
2.10. Deploy a Markdown Portfolio Site
13:57
21
3.1. Numbers
17:18
22
3.2. Strings
21:39
23
3.3. Li
17:10
24
3.4. User Input
07:26
25
3.5. Logic and if Stateme
13:38
26
3.6. Loops
13:08
27
3.7. More on Loops
17:32
28
3.8. Nested Control Flow
08:38
29
3.9. Nested While Loops
04:28
30
3.10. Functions
19:16
31
4.1. Working with Li
13:52
32
4.2. Li Continued
10:22
33
4.3. Sorting
09:15
34
4.4. Basic IO
12:41
35
4.5. 2D Li
13:05
36
4.6. Modules
13:58
37
4.7. Dictionaries and S
22:19
38
4.8. Object Oriented Programming
19:43
39
4.9. Input and Output with Obje
26:53
40
4.10. Databases and SDKs
44:57
41
5.1. How the Web Works
21:50
42
5.2. Networking and Protocols
20:42
43
5.3. DNS
17:22
44
5.4. Protocols and Browsers
25:37
45
5.5. Starting a Django Project
11:06
46
5.6. Views and Templates
24:21
47
5.7. Models and SQLite
13:17
48
5.8. Dynamic Routing
10:53
49
5.9. Forms and User Input
20:54
50
5.10. Finalizing Our Project
28:34
51
5.11. Utilizing AI to Debug Our Project
09:58
Unlock unlimited learning

Get instant access to all 50 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription