Skip to main content
Tallo logoTallo logo

Courses

Discover thousands of courses from top institutions and platforms worldwide

38,942 Courses Found

Sort by:
  • Newest First
  • Highest Rated
  • Most Reviewed
  • A to Z
  • Z to A
  • Price: Low to High
  • Price: High to Low
  • Duration: Short to Long
  • Duration: Long to Short
Embedded Software Testing course thumbnail
FREE

YouTube

Embedded Software Testing

Embedded Systems
Electrical Engineering
Software Testing

Explore embedded software testing through a comprehensive course covering essential topics from basic concepts to advanced testing techniques. Learn about embedded systems fundamentals, test case design, software life cycles, and various testing methodologies including dynamic, black box, white box, and grey-box testing. Dive into model-based design, static testing, test metrics, integration strategies, and configuration management. Gain practical knowledge on unit testing, C++ understanding, and test case identification. Master the use of test management tools and workflow processes to enhance your embedded software testing skills over the course of 40 hours.

Embedded Software Design course thumbnail
FREE

XuetangX

Embedded Software Design

Embedded Systems
Electrical Engineering
C Programming

Through the study of this course, students can master the basic process, basic knowledge, development environment, software architecture and programming skills of embedded software design, and lay a good foundation for the future embedded learning and embedded system development.There are maily 12 chapters, and the main contents of each chapter are as follows.1. Overview: Give an overview of the course content.2. Overview of Embedded C Programming: This chapter describes how to write embedded programs in C on a platform without an operating system.3. ARM C Program Optimization: Through the analysis of ARM assembly program to understand how to write efficient C program.4. The Linux Operating System: Introduction to the history, features and basic operations of the Linux operating system.5. Linux C Programming Toolchain and Makefile: Introduction to tools for editing, compiling and debugging C programs in Linux environment, and how to write Makefile.6. Construction of Embedded Software Platform: Introduction to the composition and construction of embedded software platform, and the application design process.7. File Directory and Memory: File, directory, and memory operations based on Linux C.8. Processes and Threads: The concepts and basic usage methods of process and thread.9. Signals: The concepts and basic usage methods of signal.10. Interprocess communication: Four basic ways to use interprocess communication.11. Sockets: The concepts and basic usage methods of socket.12. Module and Driver and the Example of Driver: This chapter describes how to write kernel modules and drivers, as well as code analysis for three actual hardware drivers.Course resources include 79 teaching videos and extended learning videos, 79 non video materials, 14 sets of exercises, 1 set of final tests, as well as code resources corresponding to all chapters. This course is designed according to 2 classes per week and 2 class hours each. Complete 32 class hours of the course in 8 weeks. It can also be flexibly adjusted to 48 class hours by the teacher.

Robotics Software Engineer course thumbnail

Udacity

Certificate

Robotics Software Engineer

Robotics
Machine Learning
Computer Vision

Learn how to build and program intelligent robots with this Robotics Software Engineer Nanodegree. Master ROS, path planning, and environment mapping through projects led by experts.

Become a Software Engineer course thumbnail

Zero To Mastery

Certificate

Become a Software Engineer

Software Engineering
Web Development
Python

This Software Engineer Career Path is your step-by-step roadmap to go from beginner (at any age!) to getting hired as a Software Engineer at one of the Big Tech firms like Apple, Nvidia, Google, Microsoft, Meta, OpenAI and others. You’ll be guided through our curated curriculum to ace their tough interviews, and get into a company that pays upward of $300,000/year to their engineers.Ace the coding interview at top tech companies (Google, Amazon, Meta, Apple, Microsoft, Nvidia + others)Use the right Data Structures & Algorithms to answer coding interview questions using the optimal solutionBecome a better Engineer by mastering Computer Science fundamentalsInsider tips & tricks from Instructors who have worked for big tech companies and have actually gone through and aced the interview processHow to ace all of your interviews, get more job offers and a higher salary

Software Engineer Interview Unleashed course thumbnail

Udemy

Certificate

Software Engineer Interview Unleashed

Software Development
Communication Skills
Career Development

Learn how to make yourself ready for software engineer interviews from a former Google interviewer. What you'll learn: Overall interview processWho they want to hireHow they interview candidatesGood/poor signalsInterview questionsHow to prepare phone/onsite interviewsPhone/onsite interview examples Are you a software engineer? And do you want to get a job at great software engineering companies like Google, Meta, OpenAI, orNVidia? If yes, you are at the right place!Getting a job offer from those companies is very challenging but not something you cannot get.You have already spent hundreds of thousands of dollars for your study and degrees, and I believe you are almost ready to get job offers. However, there are several missing pieces that you need to learn throughout this course. Getting a job offer means so many things:Your income would increase by a large amount, in some cases even more hundred thousand dollars.Better chance for your career development.You can work with great people. In this course, you will learn:Overall interview processes for internship position, full-time SWE, PhD candidates, and experienced SWEs.How to start your interview process.How to well prepare those technical interviews.Watch actual examples of phone and onsite interviews and see how they are evaluated. RequirementsSome coding skills, but not much.Great if you understand hash map and binary search tree, but not required.Desire to work as a software engineer. What to learn in this courseOverall interview processWho they want to hireHow they interview candidatesGood/poor signalsInterview questionsHow to prepare phone/onsite interviewsExamples. Target AudiencesCollege freshman/sophomore, looking for engineering practicum intern.College junior/senior or MS/PhD, majoring CS or related eng/science degree, looking for engineering intern.New college grad majoring engineering, looking for a fulltime position.Experienced software engineer/researcher, looking for a career advance.

Embedded Hardware Bring Up - Embedded Software Programmer Perspective course thumbnail
FREE

YouTube

Embedded Hardware Bring Up - Embedded Software Programmer Perspective

Embedded Systems
Electrical Engineering
Hardware-Software Integration

Explore embedded hardware bring-up from an embedded software programmer's perspective in this 37-minute video presentation by Alim Akhtar. Gain insights into the crucial process of initializing and configuring embedded systems, understanding the challenges and best practices involved in getting hardware up and running. Learn about the essential steps, tools, and techniques used by software programmers to interface with new embedded hardware, ensuring seamless integration between software and hardware components.

Embedded Software and Hardware Architecture course thumbnail

Coursera

Certificate

Embedded Software and Hardware Architecture

Embedded Systems
Electrical Engineering

Embedded Software and Hardware Architecture is a first dive into understanding embedded architectures and writing software to manipulate this hardware. You will gain experience writing low-level firmware to directly interface hardware with highly efficient, readable and portable design practices. We will now transition from the Host Linux Machine where we built and ran code in a simulated environment to an Integrated Development Environment where you will build and install code directly on your ARM Cortex-M4 Microcontroller. Course assignments include writing firmware to interact and configure both the underlying ARM architecture and the MSP432 microcontroller platform. The course concludes with a project where you will develop a circular buffer data structure. In this course you will need the Texas Instruments LaunchPad with the MSP432 microcontroller in order to complete the assignments. Later courses of the Specialization will continue to use this hardware tool to develop even more exciting firmware.

Embedded Software Development with C course thumbnail

Coursera

Certificate

Embedded Software Development with C

Embedded Systems
Electrical Engineering
C Programming

This specialization provides in-depth knowledge and hands-on experience in designing and programming embedded systems using C. Learners will master key concepts such as microcontroller interfacing, real-time operating systems, and system optimization. Partnered with leading industry experts, this course prepares you for real-world applications and career advancement in embedded systems engineering. Learning Objectives: 1) Understand the fundamentals of embedded systems and their applications 2) Develop proficiency in programming embedded systems using C 3) Gain expertise in microcontroller interfacing and real-time operating systems 4) Learn techniques for system optimization and performance improvement 5) Apply embedded systems knowledge to solve real-world problems Target Audience: 1) Engineering students and professionals looking to specialize in embedded systems 2) Software developers seeking to expand their skills into embedded programming 3) Hobbyists and makers interested in creating sophisticated embedded projects 4) Anyone with a passion for learning about embedded systems and their applications Prerequisites: 1) Basic knowledge of programming, preferably in C or C++ 2) Understanding of fundamental electronics concepts 3) Familiarity with microcontrollers is beneficial but not mandatory

A Career As Software Engineer course thumbnail
FREE

YouTube

A Career As Software Engineer

Career Development
Leadership
Software Engineering

Explore insights on building a successful software engineering career in this 19-minute conference talk from React Advanced London 2022. Gain valuable lessons and perspectives from Michel Weststrate's personal experiences as he shares both triumphs and challenges encountered while leading open-source projects, working as a freelancer, and transitioning from engineer to tech lead in startup and Meta environments. Discover potentially counterintuitive advice and unpopular opinions that may challenge conventional wisdom about career growth in the field. Learn practical takeaways applicable to engineers at various stages of their careers, and prepare to engage critically with the speaker's ideas to form your own conclusions about navigating a technology-focused professional path.

Being an Ethical Software Engineer course thumbnail
FREE

YouTube

Being an Ethical Software Engineer

Professional Ethics
Ethics
Security

Explore the moral responsibilities and ethical dilemmas facing software engineers in this 50-minute conference talk from Android Makers. Examine the significant power developers wield in shaping technology that impacts millions of users daily, from medical cancer detection systems to spam bots, AI applications, and data-sensitive platforms. Learn to recognize and navigate ethical challenges through real-life examples, ranging from seemingly harmless decisions like questionable newsletter subscription practices to more complex issues involving password security and data handling. Discover how to identify subtle ethical problems that are difficult to detect and resolve, while understanding the broader consequences of your code on society. Gain insights into making responsible development decisions and contributing to better software engineering practices that prioritize user welfare and ethical standards in an increasingly connected world.

Recovering Software Architecture from Embedded Binaries course thumbnail
FREE

YouTube

Recovering Software Architecture from Embedded Binaries

REcon Conference
Reverse Engineering
Software Analysis

Explore techniques for recovering software architecture from embedded binaries in this 35-minute conference talk from Recon Conference. Learn about the CodeCut problem and how to segment large binary call graphs to reconstruct original object file boundaries. Discover the concept of local function affinity (LFA) and its application in solving the CodeCut problem. Examine practical applications, including automated module-to-module call graph generation and section naming based on common strings. Gain insights into success metrics for CodeCut solutions and their importance in understanding complex software structures.

Uncovering Software Provenance in Embedded Systems course thumbnail
FREE

YouTube

Uncovering Software Provenance in Embedded Systems

Embedded Systems
Electrical Engineering
Compliance

Explore the intricacies of software provenance in embedded systems through this insightful 36-minute conference talk presented by Ricardo Mendoza from Pantacor at a Linux Foundation event. Gain valuable knowledge on tracking and verifying the origin, history, and integrity of software components in embedded devices, essential for ensuring security and compliance in today's interconnected world. Delve into the challenges and solutions for maintaining transparency and accountability throughout the software supply chain for embedded systems.

Advanced Techniques in Embedded Software Testing course thumbnail

Coursera

Certificate

Advanced Techniques in Embedded Software Testing

Safety-Critical Systems
Embedded Systems
Electrical Engineering

Advanced Techniques in Embedded Software Testing is an advanced-level course designed for engineers, testers, and technical leads working with safety-critical or high-reliability embedded systems. As embedded applications become more complex and time-sensitive, validating their correctness, performance, and resilience requires more than standard testing—it demands a rigorous, layered approach. In this course, you'll explore advanced testing strategies such as fault injection, real-time constraint validation, hardware-in-the-loop (HIL) testing, and performance benchmarking. Through short videos, real-world case studies (like the Toyota acceleration failure and Ariane 5 software bug), hands-on labs, and expert coaching, you'll learn how to uncover subtle defects, assess system safety, and implement tests that hold up in real-world edge cases. You’ll also practice interpreting logs, coverage reports, and failure traces to make informed decisions about system readiness. Whether you're validating life-saving medical devices or high-stakes automotive systems, this course will help you build test strategies that go beyond functional correctness—to deliver true reliability.

Embedded Software Development - A Wild Ride course thumbnail
FREE

YouTube

Embedded Software Development - A Wild Ride

Software Development
Quality Assurance
Digital Signal Processing

Dive into the world of embedded software development for audio hardware in this engaging conference talk from the Audio Developer Conference 2023. Explore how firmware sits at the core of audio products, managing user interfaces, bridging physical and virtual realms, and transforming signals and sounds. Learn about the connections between electronics, software development, and quality assurance in bringing hardware products to life. Gain insights from experienced developers Matt Speed and Andy Normington as they share their passion for DSP, mathematics, music, and the challenges of working with embedded systems in the audio industry. Discover the rewards and excitement of firmware development, and understand how it contributes to the creation of innovative audio hardware.

Advanced Architectures in Embedded Software Design course thumbnail

Coursera

Certificate

Advanced Architectures in Embedded Software Design

Software Architecture
Software Engineering
Robotics

Advanced Architectures in Embedded Software Design is an intermediate-to-advanced course built for engineers who want to architect embedded systems that are modular, scalable, and resilient in real-world deployments. Whether you’re working on IoT devices, industrial controls, robotics, or wearables, success depends on your ability to build software that can evolve with hardware, support real-time responsiveness, and operate within tight power and memory constraints. In this course, you’ll go beyond coding techniques to explore embedded software architecture as a discipline. Through hands-on labs, coach-led design evaluations, and case-driven learning, you’ll implement abstraction layers, manage multithreading with an RTOS, optimize low-power design, and build reusable, testable code structures. You’ll also assess how safety, modularity, and scalability factor into production-grade systems—preparing you to lead high-stakes embedded software design in complex environments.

Dynamic Multi-Software Domain Embedded Devices course thumbnail
FREE

YouTube

Dynamic Multi-Software Domain Embedded Devices

Embedded Systems
Electrical Engineering
FPGA

Learn about AMD's system architecture for modern edge and IoT embedded systems that support multi-domain software, secure deployment, and dynamic hardware reconfigurations in this 27-minute conference presentation. Explore the integration of SystemReady-DT boot firmware and discover how System Device Tree enhances multi-domain software development workflows. Examine the role of TF-A transfer list in supporting platform security boot and runtime features for FPGA SoCs. Gain insights into current implementation states, future roadmap plans, and identify technical gaps that require ongoing development and community collaboration in the embedded systems domain.

The Software Engineer Internship Survival Guide course thumbnail

Taro

Certificate

The Software Engineer Internship Survival Guide

Career Development
Soft Skills
Code Quality

Landing a software engineering internship at a top company is an incredible achievement—but for many students, it also brings a new wave of anxiety: *How do I make the most of this? What if I mess up?* This course will help you walk into your internship with clarity, confidence, and a game plan. We know how much is riding on your performance, especially if you’re aiming for that coveted return offer. This course cuts through the noise and focuses on what actually matters during your internship—both technically and interpersonally. You’ll get practical insights and guidance on how to approach the internship experience holistically. By the end, you’ll understand how top-tier internships really work, what’s expected of you, and how to set yourself up for long-term success. This course will help you: - ⛰️ Understand how internships work at **top companies** - 🧠 Establish the **right mindset** to succeed - ⚙️ Clarify **technical skill** expectations - 🗣️ Know the critical, underappreciated **soft skills** interns need - 💪 Generate a list of **concrete action items** to prepare and improve Whether you’re feeling unsure about what to expect or just want to give yourself the best shot at thriving, this course is here to support you every step of the way.

Leadership Principles for Software Engineers course thumbnail

Coursera

Certificate

Leadership Principles for Software Engineers

Software Development
Leadership
Goal Setting

Sponsored by AMAZON WEB SERVICES (AWS). Learn real-world software engineering management skills to succeed and impress in your first (or next) management role at elite engineering organizations. NANCY WANG, Director of Engineering and General Manager of AWS Data Protection Services and Founder, Advancing Women in Tech (AWIT), shares with you the engineering skills cultivated at AMAZON (the #2-ranked company in the Fortune 500), with supplemental practices from GOOGLE and MICROSOFT. Develop the skills and mental models that the world's best engineering managers apply to attract and retain world-class engineering talent. Upon course completion, you will understand what world-class software engineering organizations expect of their managers, including: * How to BECOME A MANAGER * Whether MANAGERS or INDIVIDUAL CONTRIBUTORS make more money * What is the difference between MANAGER EFFECTIVENESS and MANAGER QUALITY * How to HIRE YOUR TEAM * How to guide a team with TEAM GOALS

Clear Communication For Software Engineers course thumbnail

Taro

Certificate

Clear Communication For Software Engineers

Communication Skills
Storytelling
Professional Development

Excelling in the tech world isn't just about technical abilities—it's also about mastering clear communication. While many engineers focus primarily on coding, those who stand out understand that effective communication is important for both team success and personal growth. If you're looking to improve your communication skills, this course is for you. Clear communication makes sure your ideas are understood, reduces errors, and enhances teamwork. Here's what you'll learn: 1. 💡 **Basics of clear communication**: Grasp the essentials, including simplicity, brevity, structure, and relevance. 2. 🧠 **Mindset of a good communicator**: Discover how to tailor your messages to different audiences, whether they're team members, managers, or clients. 3. 📊 **Practical communication methods**: Learn techniques like the Pyramid Principle, PREP Method, STAR Method, and Problem → Solution → Benefit framework. 4. 👩🏽‍💻 **Effective communication in meetings**: Gain strategies for clear and productive meetings, from setting agendas to encouraging participation and summarizing key points. 5. 🎯 **Immediate practical application**: Use what you learn through exercises, role-playing, and real-world scenarios to improve your communication skills right away. In tech, effective communication is as important as technical skill. This course will equip you to share your ideas clearly, lead discussions, and create a collaborative work environment, ensuring both you and your team can achieve your goals.

Prompt Engineering for Software Engineers course thumbnail
FREE

Codecademy

Certificate

Prompt Engineering for Software Engineers

Prompt Engineering
Natural Language Processing (NLP)
Regular Expressions

With the right instructions (or prompts), generative AI tools can help streamline development by creating functional code snippets and syntax. This course will show you how to use ChatGPT for coding by breaking down the basics of prompt engineering for software development. You’ll explore the generation of Bash commands, regular expressions, and database queries; then move on to generating classes and unit tests to ensure code quality and reliability and refactoring code to improve readability and maintainability.