Overview
If you want to enter the exciting world of software development, this Software Engineering Foundations Specialization is for you. No prior degrees or knowledge of programming or application development are necessary. Software Developers are in great demand earning a median salary of US$110,140 per year according to the US Bureau of Labor and Statistics. The field is growing at a rate of 22% making it a great time to start a career in software engineering. The self-paced courses in this program provide the foundations to prepare for a wide range of IT & software development related careers, including web development, mobile application development, front-end, back-end, and full stack application development, software testing & quality assurance (QA), as well as DevOps engineering. This specialization is full of engaging videos, hands-on labs, and real-world projects that explore fundamental programming principles and foundations of design, architecture, and deployment; the software development lifecycle; Git and GitHub repositories; using the Linux terminal and creating Bash shell scripts to automate a variety of tasks; and coding with the Python programming language. The program is suitable for those new to software engineering or for those who would like a review of software engineering fundamentals. It prepares you with an introduction to the culture, technology, and job-ready skills needed to become successful in software engineering.   
Syllabus
Course 1: Introduction to Software Engineering
- Offered by IBM. Are you curious about the lucrative field that is software engineering and how you might be a part of it? This is the course ... Enroll for free.
Course 2: Getting Started with Git and GitHub
- Offered by IBM. Get started with Git and GitHub in this self-paced, introductory course! You’ll become familiar with collaborative version ... Enroll for free.
Course 3: Hands-on Introduction to Linux Commands and Shell Scripting
- Offered by IBM. This course provides a practical understanding of common Linux / UNIX shell commands. In this beginner friendly course, you ... Enroll for free.
Course 4: Python for Data Science, AI & Development
- Offered by IBM. Kickstart your learning of Python with this beginner-friendly self-paced course taught by an expert. Python is one of the ... Enroll for free.
Course 5: Developing AI Applications with Python and Flask
- Offered by IBM. This mini course is intended to apply basic Python skills for developing Artificial Intelligence (AI) enabled applications. ... Enroll for free.
- Offered by IBM. Are you curious about the lucrative field that is software engineering and how you might be a part of it? This is the course ... Enroll for free.
Course 2: Getting Started with Git and GitHub
- Offered by IBM. Get started with Git and GitHub in this self-paced, introductory course! You’ll become familiar with collaborative version ... Enroll for free.
Course 3: Hands-on Introduction to Linux Commands and Shell Scripting
- Offered by IBM. This course provides a practical understanding of common Linux / UNIX shell commands. In this beginner friendly course, you ... Enroll for free.
Course 4: Python for Data Science, AI & Development
- Offered by IBM. Kickstart your learning of Python with this beginner-friendly self-paced course taught by an expert. Python is one of the ... Enroll for free.
Course 5: Developing AI Applications with Python and Flask
- Offered by IBM. This mini course is intended to apply basic Python skills for developing Artificial Intelligence (AI) enabled applications. ... Enroll for free.
Courses
-
Kickstart your learning of Python with this beginner-friendly self-paced course taught by an expert. Python is one of the most popular languages in the programming and data science world and demand for individuals who have the ability to apply Python has never been higher. This introduction to Python course will take you from zero to programming in Python in a matter of hours—no prior programming experience necessary! You will learn about Python basics and the different data types. You will familiarize yourself with Python Data structures like List and Tuples, as well as logic concepts like conditions and branching. You will use Python libraries such as Pandas, Numpy & Beautiful Soup. You’ll also use Python to perform tasks such as data collection and web scraping with APIs. You will practice and apply what you learn through hands-on labs using Jupyter Notebooks. By the end of this course, you’ll feel comfortable creating basic programs, working with data, and automating real-world tasks using Python. This course is suitable for anyone who wants to learn Data Science, Data Analytics, Software Development, Data Engineering, AI, and DevOps as well as a number of other job roles.
-
This mini course is intended to apply basic Python skills for developing Artificial Intelligence (AI) enabled applications. In this hands-on project you will assume the role of a developer and perform tasks including: - Develop functions and application logic - Exchange data using Watson AI libraries - Write unit tests, and - Package the application for distribution. You will demonstrate your foundational Python skills by employing different techniques to develop web applications and AI powered solutions. After completing this course, you will have added another project to your portfolio and gained the confidence to begin developing AI enabled applications using Python and Flask, Watson AI libraries, build and run unit tests, and package the application for distribution out in the real world.
-
This course provides a practical understanding of common Linux / UNIX shell commands. In this beginner friendly course, you will learn about the Linux basics, Shell commands, and Bash shell scripting. You will begin this course with an introduction to Linux and explore the Linux architecture. You will interact with the Linux Terminal, execute commands, navigate directories, edit files, as well as install and update software. Next, you’ll become familiar with commonly used Linux commands. You will work with general purpose commands like id, date, uname, ps, top, echo, man; directory management commands such as pwd, cd, mkdir, rmdir, find, df; file management commands like cat, wget, more, head, tail, cp, mv, touch, tar, zip, unzip; access control command chmod; text processing commands - wc, grep, tr; as well as networking commands - hostname, ping, ifconfig and curl. You will then move on to learning the basics of shell scripting to automate a variety of tasks. You’ll create simple to more advanced shell scripts that involve Metacharacters, Quoting, Variables, Command substitution, I/O Redirection, Pipes & Filters, and Command line arguments. You will also schedule cron jobs using crontab. The course includes both video-based lectures as well as hands-on labs to practice and apply what you learn. You will have no-charge access to a virtual Linux server that you can access through your web browser, so you don't need to download and install anything to complete the labs. You’ll end this course with a final project as well as a final exam. In the final project you will demonstrate your knowledge of course concepts by performing your own Extract, Transform, and Load (ETL) process and create a scheduled backup script. This course is ideal for data engineers, data scientists, software developers, and cloud practitioners who want to get familiar with frequently used commands on Linux, MacOS and other Unix-like operating systems as well as get started with creating shell scripts.
-
Get started with Git and GitHub in this self-paced, introductory course! You’ll become familiar with collaborative version control and popular Git platforms. Collaboration and social coding are crucial parts of contemporary Software Engineering practices and the DevOps culture. You will begin this course with an overview of Git and Github fundamentals and explore key Git concepts such as branching and repositories, as well as the use of Git commands. You will also learn and practice various Git concepts such as forking, cloning and merging workflows using hands-on labs. And you’ll learn to use GitHub to work effectively as a team, and perform common Git operations, from both the Web UI and command line. The course wraps up with a final project where you will start building your portfolio by creating and sharing a public/open-source GitHub project. By completing this course you will demonstrate your Git and Github skills as well as add a project to your resume! All hands-on activities in this course can be performed using web-browser based tools and interfaces. Installation of any specialized software is NOT required on your own computer in order to complete the course.
-
Are you curious about the lucrative field that is software engineering and how you might be a part of it? This is the course for you! By taking this course you will gain foundational knowledge of software development, programming, and the many exciting job roles and career paths that the IT industry offers. Learn about the power of the Software Development Lifecycle (SDLC), and modern software development frameworks methodologies like Agile and Scrum. Explore fundamental programming principles and foundations of design, architecture, and deployment. The course offers a number of labs that will help you get important hands-on experience. These include, getting started with an IDE, basics of programming in Python, and Hello World in 10 languages. 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, front-end, back-end, full stack developers and DevOps professionals, this course is also suitable for those in related careers such as Product and Project Managers, IT Managers, Information Developers, UI/UX designers and others who communicate and interact with software engineers. You will learn about the different job opportunities and possible career paths in the software engineering field and also hear from industry professionals about what they do on a day-to-day basis. Professionals in the software engineering field are in great demand and now is a great time to learn more about this exciting domain. Start by enrolling now!
Taught by
Bethany Hudnutt, Joseph Santarcangelo, Lin Joyner, Ramesh Sannareddy, Rav Ahuja, Sam Prokopchuk and Upkar Lidder