Online Course – IBM Certified Professional Internship in Software Engineering

Build the foundation for your software career. Gain hands-on experience with Git, GitHub, Linux, and Python, and learn the fundamentals of software engineering.

Suggested by: Coursera (What is Coursera?)

Professional Certificate

Beginners

No prior knowledge required

Time to complete the course

7-day free trial

No unnecessary risks

Skills you will acquire in the course

  • Software design and architecture
  • Python programming
  • Git and GitHub
  • Software Development Life Cycle (SDLC)
  • Linux

What you will learn in the course

Courses for which the course is suitable

  • Software developer
  • Website developer
  • Mobile app developer
  • Client-side developer
  • Server-side developer
  • Full application developer
  • Software Tester (QA)
  • DevOps Engineer

Internship – a five-part course series

If you want to enter the exciting world of software development, a specialization in Software Engineering Fundamentals is right for you. No previous degrees or knowledge of programming or application development is required.

Market requirements

Software developers are in high demand, with a median salary of $110,140 per year according to the U.S. Bureau of Labor Statistics. The field is growing at a rate of 22%, making it a great time to start a career in software engineering.

Curriculum

The courses in this program are tailored for independent learning and provide the foundations necessary to prepare you for a wide range of careers related to information technology and software development, including:

  • Web Development
  • Mobile App Development
  • Client-side development
  • Server-side development
  • Full application development
  • Software Testing and Quality Assurance (QA)
  • DevOps Engineering

Course content

This internship includes engaging videos, hands-on labs, and real-world projects that explore:

  • Basic programming principles
  • Fundamentals of Design, Architecture, and Distribution
  • Software Development Life Cycle
  • Git and GitHub repositories
  • Working with the Linux terminal and writing automated Bash scripts for a variety of tasks
  • Programming with the Python programming language

Target audience

The program is suitable for those new to software engineering or those looking to refresh their knowledge of engineering. It prepares you with an introduction to the culture, technology, and job-ready skills required to succeed in software engineering.

Tangible Learning Project

Each course is packed with hands-on labs, interactive activities, and projects, so you can build your portfolio while gaining practical knowledge of engineering principles. Throughout the program, you will develop software engineering skills. The projects include:

  • Research jobs to learn about the skills and requirements in the software engineering field.
  • Using Git and GitHub commands to create an open source project while working with branches, merging code, and making pull requests (PRs).
  • Writing a Bash script on Linux that backs up changed files, and schedules it to run every 24 hours using Crontab.
  • Programming with Python using lists, tuples, dictionaries, sets, conditions, forks, loops, functions, decision handling, objects and classes, web services and APIs, and libraries like NumPy and Pandas.
  • Developing a web application in Python that uses IBM Watson for language translation, including writing unit tests and packaging the application for distribution.

Details of the courses that make up the specialization

Introduction to Software Engineering

Course 1

  • 14 hours
  • 4.7 (1,895 ratings)

Course Details

What you’ll learn:
  • Describe what software engineering is, what the software development life cycle (SDLC) is, and what tools, technologies, and stacks exist in the field of development.
  • List the different types of programming languages ​​and create basic programming structures such as loops and conditionals using Python.
  • Summarized approaches to application architecture and design, patterns, and deployment architecture.
  • Summarize the skills required in software engineering and describe the career options the field provides.
Skills you will acquire:
  • Category: Python Programming
  • Category: Application Development
  • Category: Web Applications
  • Category: Flask
  • Category: Artificial Intelligence (AI)

Introduction to Git and GitHub

Course 2

  • 10 hours
  • 4.6 (1,372 ratings)

Course Details

What you’ll learn:
  • Describe what version control is and its place in the world of social and collaborative code (DevOps).
  • Explain basic Git concepts such as repositories and branches used for distributed version control and social code.
  • Create repositories and branches on GitHub, and perform pull requests (PRs) and merge actions to collaborate on a group project.
  • Build your portfolio by creating and sharing an open source project on GitHub.
Skills you will acquire:
  • Category: Shell Script
  • Category: Bash (Unix command line)
  • Category: Extraction, Transformation, and Loading (ETL)
  • Category: Linux
  • Category: Linux commands

A practical introduction to Linux commands and scripting

Course 3

  • 14 hours
  • 4.7 (1,312 ratings)

Course Details

What you’ll learn:
  • Describe the architecture of Linux and its common features, and updating and installing software on a Linux system.
  • Execute common commands like info, files, content, navigation, compression, and network in the Bash shell.
  • Develop scripts using Linux commands, environment variables, pipes, and filters.
  • Set up cron jobs in Linux with crontab and explain the cron syntax.
Skills you will acquire:
  • Category: Data Science
  • Category: Analysis data
  • Category: Python Programming
  • Category: Numpy
  • Category: Pandas

Python for Data Science, Artificial Intelligence, and Development

Course 4

  • 25 hours
  • 4.6 (38,224 ratings)

Course Details

What you’ll learn:
  • Learn Python – one of the most popular languages ​​in data science and software development.
  • Implement programming logic in the Python language: variables, data structures, branches, loops, functions, objects, and classes.
  • Demonstrate mastery of using Python libraries such as Pandas and NumPy, and code development using Jupyter Notebooks.
  • Access data and perform web searches using APIs and Python libraries like Beautiful Soup.
Skills you will acquire:
  • Category: Distributed Version Control Systems (DVCS)
  • Category: Git (software)
  • Category: GitHub
  • Category: Open Source
  • Category: Duplication and Dialing

Developing Intelligent Applications with Python and Flask

Course 5

  • 11 hours
  • 4.4 (806 ratings)

Course Details

What you’ll learn:
  • Describe the steps and scenarios involved in creating a Python application, including the application development lifecycle.
  • Create modules in Python, run unit tests, and package applications while maintaining PEP8 best coding practices.
  • Explain the features of Flask and deploy web applications using the Flask framework.
  • Create and deploy an artificial intelligence-based application on a web server using IBM Watson AI libraries and Flask.
Skills you will acquire:
  • Category: Software Engineering
  • Category: Software Architecture
  • Category: Python Programming
  • Category: Agile and Scrum
  • Category: Software Development Life Cycle (SDLC)