Core Engineering
⚙️

Core Engineering

Core Engineering

⚙️ What is Core Engineering?

There are many tools and topics that are needed today to make you into a well rounded engineer. It can be daunting to learn so many things so folks often skip the core skills in favor or shiny tools and frameworks, but learning the core skills that these things are built upon can turn you into the technical swiss army knife you wish to be.

❓Why Core Engineering?

Simply, If you master core engineering skills, you can navigate any engineering discipline you’d like. These disciplices include a solid understanding of Linux/Unix systems and how to interact with them via CLI, Basic networking skills and Programming fundamentals. Mastering these disciplines opens just about all of the technical doors.

👨‍👩‍👧‍👦Who is this for?

This course is designed for people entering a digital engineering field. This includes but is not limited to:

  • DevOps Engineers
  • Site Reliability Administrators
  • Cloud Engineers
  • Software Engineers
  • Platform Engineers
  • Systems Administrators
  • System Engineers
  • Network Engineers

👶🏽Prerequisites?

This course, like many of our courses dive deep into a specific technology. While you may be able to grasp the concepts of the technology, to get the most out of this course its best you have learned or performed the following:

  • Basic knowlege of how to operate a modern computer OS and Browser
  • Mediocre Typing Skills are a nice to have

🎓Curriculum

Course Outline: Linux Command Line Fundamentals

  1. Introduction to the Linux Command Line
    • Understanding the terminal interface
    • Navigating the file system
    • Working with files and directories
  2. Basic Commands
    • File manipulation commands (ls, cp, mv, rm)
    • Directory manipulation commands (cd, mkdir, rmdir)
    • Text processing commands (cat, grep, awk)
  3. File Permissions and User Management
    • Understanding file permissions
    • Modifying file permissions
    • Managing users and groups
  4. Process Management
    • Viewing running processes
    • Managing processes (kill, ps, top)
    • Background and foreground processes
  5. Shell Scripting Basics
    • Introduction to shell scripting
    • Writing and executing shell scripts
    • Variables and control structures
  6. Advanced Commands and Utilities
    • Networking commands (ping, ssh, curl)
    • System monitoring commands (df, free, uptime)
    • Package management (apt, yum)
  7. Additional Topics (Optional)
    • Regular expressions
    • Text editors (vi, nano)
    • File compression and archiving

Course Outline: Basic Networking Fundamentals

  1. Introduction to Networking
    • Understanding computer networks
    • Network components and architecture
    • Network protocols and standards
  2. Network Topologies and Models
    • Common network topologies (bus, star, ring)
    • OSI and TCP/IP models
    • Networking layers and their functions
  3. IP Addressing and Subnetting
    • IPv4 and IPv6 addressing
    • Subnetting and subnet masks
    • IP address classification and addressing schemes
  4. Network Devices and Infrastructure
    • Routers, switches, and hubs
    • Network cables and connectors
    • Wireless networking and access points
  5. Network Protocols and Services
    • TCP/IP suite and its protocols
    • DNS, DHCP, FTP, HTTP, and other common protocols
    • Network services and their functions
  6. Network Security Fundamentals
    • Introduction to network security
    • Firewalls, VPNs, and IDS/IPS
    • Secure network design and best practices
  7. Troubleshooting and Network Management
    • Network troubleshooting methodologies
    • Network monitoring and management tools
    • Common network issues and their resolution

This course will provide a solid foundation in basic networking concepts and prepare students for further exploration in the field of computer networking.

Course Outline: Programming Basics

  1. Introduction to Programming
    • Understanding the basics of programming
    • Programming languages and their uses
    • Introduction to algorithmic thinking
  2. Variables and Data Types
    • Declaring and using variables
    • Different data types and their characteristics
    • Type conversion and casting
  3. Control Flow and Loops
    • Conditional statements (if, else, switch)
    • Looping structures (for, while, do-while)
    • Breaking and continuing within loops
  4. Functions and Modules
    • Defining and calling functions
    • Parameters and return values
    • Working with modules and libraries
  5. Arrays and Lists
    • Creating and manipulating arrays
    • Accessing array elements
    • Working with lists and their operations
  6. Strings and Input/Output
    • String manipulation and formatting
    • Reading and writing to files
    • User input and output operations

MASTERMND Academy by mastermnd, llc