Software Engineering Fundamentals
Build the foundation for a software engineering-related career and become conversant about topics in this in-demand field. Explore fundamental principles, processes, architecture, tools, and stacks. Hear software experts discuss their experiences.
Language
- English
Topic
- Computer Science & Information Technology
Industries
- Information Technology
Skills You Will Learn
- Web Development, Software Engineering, Agile Software Development, Computer Programming, Software Development, Front End Web Development
Offered By
- IBMSkillsNetwork
Estimated Effort
- 6 weeks
Platform
- SkillsNetwork
Last Update
- September 11, 2024
Course Syllabus
- Introduction to the SDLC
- Phases of the SDLC
- Activity: Phases in the SDLC
- Building Quality Software
- Requirements
- Software Development Methodologies
- Software Versions
- Software Testing
- Software Documentation
- Roles in Software Engineering Projects
- Insiders' Viewpoint: Job Roles in Software Engineering Teams
- The Software Building Process and Associated Roles
- Overview of Web and Cloud Development
- Learning Front-End Development
- The Importance of Back-End Development
- Teamwork and Squads
- Insiders' Viewpoint: Teamwork in Software Engineering
- Pair Programming
- Insiders' Viewpoint: Pair Programming
- Activity: Categorizing Front- and Back-End Technologies
- Introduction to Development
- Application Development Tools
- More Application Development Tools
- Software Stacks
- Hands-on Lab: Getting Started With an IDE
- Insiders' Viewpoint: Tools and Technologies
- Tools in Software Development
- Comparing Compiled and Interpreted Languages
- Query and Assembly Languages
- Understanding Code Organization Methods
- Insiders' Viewpoint: Types of Languages
- Activity: Programming Logic and Organizational Methods
- Programming Languages and Organization
- Branching and Looping Programming Logic
- Introduction to Programming
- Hands-on Lab: Programming Fundamentals with Python
- Introduction to Programming Concepts
- Introduction to Software Architecture
- Software Design and Modeling
- Object-Oriented Analysis and Design
- Insiders' Viewpoint: Importance of Design and Software Architecture
- Activity: Create an Architectural Diagram
- Software Architecture and Design
- Approaches to Application Architecture
- Architectural Patterns in Software
- Application Deployment Environments
- Production Deployment Components
- Insiders' Viewpoint: Deployment Architecture
- Software Architecture Patterns and Deployment Topologies
- What Does a Software Engineer Do?
- A Day in the Life of a Software Engineer
- Skills Required for Software Engineering
- Insiders' Viewpoint: Advice to Future Software Engineers
- Insiders' Viewpoint: Women in Software Engineering
- Job Outlook for Software Engineers
- Career Paths in Software Engineering
- Software Engineering Job Titles
- Insiders' Viewpoint: Career Paths
- Activity: Matching Roles with Responsibilities
- Code of Ethics
Learning Objectives:
Prerequisites
Language
- English
Topic
- Computer Science & Information Technology
Industries
- Information Technology
Skills You Will Learn
- Web Development, Software Engineering, Agile Software Development, Computer Programming, Software Development, Front End Web Development
Offered By
- IBMSkillsNetwork
Estimated Effort
- 6 weeks
Platform
- SkillsNetwork
Last Update
- September 11, 2024
Instructors
Rav Ahuja
Global Program Director, IBM Skills Network
Rav Ahuja is a Global Program Director at IBM. He leads growth strategy, curriculum creation, and partner programs for the IBM Skills Network. Rav co-founded Cognitive Class, an IBM led initiative to democratize skills for in demand technologies. He is based out of the IBM Canada Lab in Toronto and specializes in instructional solutions for AI, Data, Software Engineering and Cloud. Rav presents at events worldwide and has authored numerous papers, articles, books and courses on subjects in managing and analyzing data. Rav holds B. Eng. from McGill University and MBA from University of Western Ontario.
Read more