SEO Certification: What It Is and How It Is Beneficial
October 23, 2024
Article
Build the foundation of your career in Software. Develop hands-on experience with Git, GitHub, Linux, and Python, and learn the fundamentals of Software Engineering.
Instructors: Abhishek Gagneja
10,158 already enrolled
Included with
(492 reviews)
Recommended experience
Beginner level
Basic information technology and computer literacy. No prior degeree or knowledge / experience of Software Engineering is required.
(492 reviews)
Recommended experience
Beginner level
Basic information technology and computer literacy. No prior degeree or knowledge / experience of Software Engineering is required.
Describe software development and related technologies; outline approaches to deployment architectures; and summarize career options in the field.
Explain the role of version control and collaborative coding in SDLC & DevOps; Create GitHub repositories and use branching with Git commands.
List and execute commonly used Linux commands, utilize pipes and redirection, create simple shell scripts using BASH, schedule jobs using Cron.
Create, package, and deploy Python applications using knowledge of programming constructs, libraries, APIs and web services.
Add to your LinkedIn profile
Add this credential to your LinkedIn profile, resume, or CV
Share it on social media and in your performance review
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.
Applied 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 software engineering concepts. You will develop software engineering skills throughout the program. Projects involve:.
Exploring job listings to become familiar with skills and requirements in the Software Engineering domain.
Using Git commands and GitHub to create an open source project while working with branches, merging code, and performing pull requests (PRs).
Writing a Bash shell script on Linux that takes backups of changed files and schedules it to run every 24 hours using Crontab.
Coding with Python using lists, tuples, dictionaries, sets, conditions, branching, loops, functions, exception handling, objects, and classes, web services & APIs, and libraries like NumPy & Pandas.
Developing a Python web app that uses IBM Watson to translate languages, including writing unit tests and packaging the app for distribution.
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.
Describe version control and its place in social and collaborative coding and in DevOps.
Explain basic Git concepts such as repositories and branches used for distributed version control and social coding.
Create GitHub repositories and branches, and perform pull requests (PRs) and merge operations, to collaborate on a team project.
Build your portfolio by creating and sharing an open-source project on GitHub.
Describe the Linux architecture and common Linux distributions and update and install software on a Linux system.
Perform common informational, file, content, navigational, compression, and networking commands in Bash shell.
Develop shell scripts using Linux commands, environment variables, pipes, and filters.
Schedule cron jobs in Linux with crontab and explain the cron syntax.
Learn Python - the most popular programming language and for Data Science and Software Development.
Apply Python programming logic Variables, Data Structures, Branching, Loops, Functions, Objects & Classes.
Demonstrate proficiency in using Python libraries such as Pandas & Numpy, and developing code using Jupyter Notebooks.
Access and web scrape data using APIs and Python libraries like Beautiful Soup.
Describe the steps and processes involved in creating a Python application including the application development lifecycle
Create Python modules, run unit tests, and package applications while ensuring the PEP8 coding best practices
Explain the features of Flask and deploy applications on the web using the Flask framework
Create and deploy an AI-based application onto a web server using IBM Watson AI Libraries and Flask
At IBM, we know how rapidly tech evolves and recognize the crucial need for businesses and professionals to build job-ready, hands-on skills quickly. As a market-leading tech innovator, we’re committed to helping you thrive in this dynamic landscape. Through IBM Skills Network, our expertly designed training programs in AI, software development, cybersecurity, data science, business management, and more, provide the essential skills you need to secure your first job, advance your career, or drive business success. Whether you’re upskilling yourself or your team, our courses, Specializations, and Professional Certificates build the technical expertise that ensures you, and your organization, excel in a competitive world.
When you complete this Specialization, you may be able to have your learning recognized for credit if you are admitted and enroll in one of the following online degree programs.¹
When you complete this Specialization, you may be able to have your learning recognized for credit if you are admitted and enroll in one of the following online degree programs.¹
Ball State University
Degree · 24 months
¹Successful application and enrollment are required. Eligibility requirements apply. Each institution determines the number of credits recognized by completing this content that may count towards degree requirements, considering any existing credits you may have. Click on a specific course for more information.
Unlimited access to 10,000+ world-class courses, hands-on projects, and job-ready certificate programs - all included in your subscription
Earn a degree from world-class universities - 100% online
Upskill your employees to excel in the digital economy
The specialization requires 60-75 hours of effort to complete. Working 8-10 hours a week, it can be completed within 2-3 months.
This specialization is for those looking to increase their knowledge of software engineering and assumes basic computer / IT literacy skills.
It is recommended that you complete the courses in the order in which they occur in the Specialization. Course 4 is a pre-requisite for Course 5.
College or University credit is not yet available for this Specialization.
Upon successful completion of the Specialization, you will have the practical knowledge and experience to approach entry-level Software Engineering tasks and scenarios with confidence.
No. This is an introductory course that assumes no prior knowledge of Software Engineering or Programming.
Although no software downloads are required, you will complete hands-on labs and exercises using websites and lab environments accessible from your web browser.
This course is completely online, so there’s no need to show up to a classroom in person. You can access your lectures, readings and assignments anytime and anywhere via the web or your mobile device.
If you subscribed, you get a 7-day free trial during which you can cancel at no penalty. After that, we don’t give refunds, but you can cancel your subscription at any time. See our full refund policy.
Yes! To get started, click the course card that interests you and enroll. You can enroll and complete the course to earn a shareable certificate, or you can audit it to view the course materials for free. When you subscribe to a course that is part of a Specialization, you’re automatically subscribed to the full Specialization. Visit your learner dashboard to track your progress.
Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.
When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. If you only want to read and view the course content, you can audit the course for free. If you cannot afford the fee, you can apply for financial aid.
These cookies are necessary for the website to function and cannot be switched off in our systems. They are usually only set in response to actions made by you which amount to a request for services, such as setting your privacy preferences, logging in or filling in forms. You can set your browser to block or alert you about these cookies, but some parts of the site will not then work.
These cookies may be set through our site by our advertising partners. They may be used by those companies to build a profile of your interests and show you relevant adverts on other sites. They are based on uniquely identifying your browser and internet device. If you do not allow these cookies, you will experience less targeted advertising.
These cookies allow us to count visits and traffic sources so we can measure and improve the performance of our site. They help us to know which pages are the most and least popular and see how visitors move around the site. If you do not allow these cookies we will not know when you have visited our site, and will not be able to monitor its performance.
These cookies enable the website to provide enhanced functionality and personalization. They may be set by us or by third party providers whose services we have added to our pages. If you do not allow these cookies then some or all of these services may not function properly.