MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.
The field of software engineering is growing at an estimated rate of 22% according to the US Bureau of Labor and Statistics. In addition to aspiring software engineers, this course is also suitable for those in related careers such as Product and Project Managers, IT Managers, Information Developers and others who communicate and interact with software engineers.
This course teaches you about the power of the Software Development Lifecycle (SDLC) and software development methodologies like Agile. Explore fundamental programming principles and foundations of design, architecture, and deployment. Investigate skills a software engineer needs and identify job opportunities with hands-on projects. You will also learn about programming basics and software development tools and stacks.
Throughout this course, you’ll hear from expert and novice software engineers to get a feel for what the job is like from their perspective. After completing this introductory course you will be conversant in the tools, technologies, terminology, processes, and practices in software engineering.
Course 1 of 5 in the Applied Software Engineering Fundamentals Specialization.
What You Will Learn
- Describe software engineering, Software Development Lifecycle (SDLC), and software development tools, technologies and stacks.
- List different types of programming languages and create basic programming constructs such as loops and conditions using Python.
- Outline approaches to application architecture and design, patterns, and deployment architectures.
- Summarize the skills required in software engineering and describe the career options it provides.
Syllabus
WEEK 1
SDLC - The Software Development Lifecyle
This module provides you with an overview to the field of software engineering. In the first lesson of this module, you will be introduced to the field of software engineering, and learn about the software development lifecycle (SDLC), elements of building high-quality software, and writing requirements. In lesson two you will explore different approaches to building software and different career opportunities related to software development. You will also hear from experienced practitioners in the field and learn how different roles interact and work with each other as a team in order to develop enterprise-level software.
WEEK 2
Introduction to Software Development
This module introduces you to the concepts of application development. In lesson 1 you’ll learn about the differences in front-end and back-end development in web and cloud applications and the technologies used in both. You’ll also learn about how working in teams and pairs can enhance the development process and make it more efficient. In lesson 2 you will explore many of the application development tools that a software engineer uses to write, test, and release code and be introduced to software stacks that support the execution of an application. Finally, in the hands-on lab, you’ll learn how to use an integrated development environment (IDE) to develop and run code.
WEEK 3
Basics of Programming
This module introduces you to the basics of programming. In the first lesson, you will learn about the different categories of programming languages and the scenarios to which each is suited. You’ll also learn how to plan and organize your code effectively. In lesson 2 you will explore basic programming logic and investigate programming concepts such as identifiers, functions, and objects. Finally, in the hands-on lab, you’ll learn how to write simple Python code.
WEEK 4
Software Architecture, Design, and Patterns
In this module, you will learn about the foundations of enterprise software development. Lesson 1 introduces you to software architecture and explains the importance of well-designed architecture. You will also learn about the design process, including structural design, behavioral models, and how you can create unified modeling language (UML) diagrams to communicate a software’s structure and behavior to all team members. You will also consider object-oriented analysis and design (OOAD). In Lesson 2 you will explore a variety of architectural patterns that support the architectural design process in a hands-on activity. Lastly, you will learn about the software production environment and some of the components required for deployment.
WEEK 5
Job Opportunities and Skillsets in Software Engineering
In this module, you will learn about the tasks of a software engineer and what they do on a day-to-day basis. You will discover the hard and soft skills needed to become a successful software engineer. You will also investigate the job outlook for a software engineer, get a clear understanding of different software engineering career paths, and learn about various software engineering job titles and the responsibilities of those roles. You will also learn about the software engineering code of ethics.
WEEK 6
Final Activity and Quiz
This is the final module of the course which contains the final assessment and final project. Both the assessment and the project address topics from all other modules in the course. The final assessment contains a total of 20 multiple choice questions comprised of 4 questions about each module. For the 20-point, peer-reviewed, final project, you will analyze a job posting in light of what you learned in the course. You are also required to review two of your peers’ projects based on the rubric provided.
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.