What Is Programming? And How To Get Started
January 28, 2025
Article
This course is part of multiple programs.
Instructors: John Rofrano
Instructor ratings
We asked all learners to give feedback on our instructors based on the quality of their teaching style.
Top Instructor
13,001 already enrolled
Included with
(122 reviews)
Recommended experience
Intermediate level
Ensure you have the DevOps and Software Engineering skills taught in previous courses in the IBM DevOps PC.
(122 reviews)
Recommended experience
Intermediate level
Ensure you have the DevOps and Software Engineering skills taught in previous courses in the IBM DevOps PC.
Identify user requirements, write user stories, create and execute sprint plans.
Build an application composed of several microservices and employ containers and serverless for running apps in Cloud.
Develop test cases and test your app during various stages of its lifecycle; utilize CI/CD tools to update and deploy your app.
List several next steps for starting or enhancing your career as a DevOps professional.
Add to your LinkedIn profile
13 assignments
Add this credential to your LinkedIn profile, resume, or CV
Share it on social media and in your performance review
Showcase your DevOps and Software Engineering skills with this hands-on Capstone project! In this course you will apply the skills and techniques you have learned as part of the previous courses in the Professional Certificate. During the project you will develop, test, deploy, monitor, and enhance a secure microservices-based application on Cloud, over the course of several sprints.
You’ll develop an Agile plan by developing user stories and a Kanban board using ZenHub and GitHub. This plan will be implemented to create a RESTful microservice-based Flask application. You will employ Test Driven Development (TDD) to create and execute tests for the app. You will complete many other tasks like adding functionality using Continuous Integration, ensuring the app is secure, and deploy the app on Cloud using Kubernetes. You will also build an automated CI/CD pipeline. This course is the final course in the IBM DevOps Engineering Professional Certificates. It is recommended that you complete all the previous courses in this Professional Certificate before starting this course.
Before starting this module, ensure that you have a basic understanding of Agile planning and Scrum, as well as a GitHub account and a Zenhub account. This module focuses on developing an Agile plan to create a RESTful microservice. You will complete this project over several sprints using various Agile, cloud-native, and CI/CD tools and technologies. You will begin by creating a GitHub repository for the project and adding this repository to your Kanban board. Next, you will build a user story template in GitHub, which you will later use to write well-structured user stories. Then, you will build your product backlog on the Kanban board. After finishing your product backlog, you will build your sprint plan.
1 video4 readings2 assignments2 plugins
In this module, you will complete Sprint 1 by configuring the capstone project environment and developing the Customer Account microservice using test driven development (TDD). Start development of the microservice on a new branch on your GitHub repo. You will create tests for the RESTful Flask service and write test cases for the read, update, delete, and list functions. to pass these tests. As you develop, you will run nosetests to ensure at least 95% coverage. As your work progresses, you will move the user stories through your kanban board.
3 readings2 assignments1 app item1 plugin
Before starting this module, ensure that you have completed all the steps described in the Hands-on Lab: Develop Your RESTful Service Using Test Driven Development. In addition, you should have a GitHub account and a GitHub repository, a basic understanding of YAML, familiarity with the syntax for GitHub Actions, and a basic knowledge of Python, Pip, and nosetests. In Lesson 1, you will add a continuous integration workflow using GitHub Actions, which will help you automate the building and testing of your code. You will start by building a plan for Sprint 2 in the guided instructional lab, Sprint 2 Planning. Next, in the Add Continuous Integration hands-on lab, you will configure a GitHub Actions workflow that will be triggered when an event occurs in your repository. As part of Sprint 2, you will create a workflow that will build and test every push or pull request to your repository. You will be moving the corresponding user stories through your kanban board as your work progresses. Before starting Lesson 2, ensure that you have completed all the steps described in the Hands-on Lab: Add Continuous Integration. In addition, you should have a basic understanding of security headers, cross-origin resource sharing (CORS) policies, Flask-Talisman, and Flask-Cors. You should also have a good understanding of test driven development (TDD) techniques, GitHub Actions, and GitHub operations (branching, merging, committing code, pushing code updates, and creating pull requests). In Lesson 2, you will add secure code practices for the microservice you built by adding Flask-Talisman for security headers and Flask-Cors to establish CORS policies. To begin, you will assign the relevant story created for this task to yourself and start working on a new branch created for this specific task. To align with TDD practices, you will first write the test case for the security feature you are trying to implement. Once you have added Flask-Talisman for security headers and Flask-Cors to establish CORS policies, commit and push your changes to the repository and make a pull request that will kick off the GitHub Action. You will move the corresponding user stories through your kanban board as your work progresses.
5 readings4 assignments2 app items1 plugin
Before starting this module, ensure that you have completed all the steps described in the Hands-on Lab: Add Security to Your RESTful Service. In addition, you should have a basic understanding of Docker and containerization, Docker commands, Kubernetes and OpenShift, YAML, kubectl, and oc commands. You should have a GitHub account and a GitHub repository, and you should be familiar with the syntax for GitHub Actions. As part of Sprint 3, you will create a Docker image of your microservice and deploy the same to Kubernetes/OpenShift cluster manually. You will first find the “Containerize your microservice using Docker” story in the kanban board, move it to "In Progress," and assign it to yourself. Next, you will create the Docker file and then use it to build a Docker image called accounts. You will deploy this image to Kubernetes/OpenShift as part of the next user story, “Deploy your Docker image to Kubernetes.” You will create new branches for both stories and begin working on them. Once the tasks are completed, you will commit and push your changes from your local environment to your GitHub repository. Finally, you will create pull requests and merge your code to the main or master branch. You will move the corresponding user stories through your kanban board as your work progresses. When you complete a story, you will move it to "Done" and from there to "Closed."
3 readings2 assignments1 app item1 plugin
Before starting this module, ensure that you have completed all the steps described in the Hands-on Lab: Deploy Your Application to Kubernetes. In addition, you should have a basic understanding of Kubernetes and continuous delivery, Tekton pipeline, YAML, kubectl, and oc commands. You should have a GitHub account and a GitHub repository, and you should be familiar with the syntax for GitHub Actions. For the lab in this module, you will automate the deployment to Kubernetes using the Tekton pipeline so that when the pipeline is triggered, the accounts service will be deployed to Kubernetes without requiring any manual intervention. To start, you will find the user story "Create a CD pipeline to automate deployment to Kubernetes" in the kanban board, move it from the "Sprint Backlog" to "In Progress," and assign it to yourself. Next, you will create the CD pipeline, involving tasks for cloning, linting, unit testing, building, and deploying the service to an OpenShift/Kubernetes cluster. You will also create a Tekton trigger using the Tekton Catalog, such as a commit to your GitHub repository, which will initiate the pipeline run. You will create a new branch for this story and start working on it. Once the task is completed, you will commit and push your changes from your local environment to your GitHub repository. Finally, you will create pull requests and merge your code to the main or master branch. You will move the corresponding user stories through your kanban board as your work progresses. When you complete a story, you will move it to "Done" and from there to "Closed."
3 readings2 assignments1 app item
In this final module, you will complete your submission of screenshots from the hands-on labs for your peers to review and provide URLs for your REST endpoints and GitHub repo links so your peers can review your code. Once you have completed your submission, you will review and grade one of your peers' submissions.
2 readings1 peer review
1 reading1 assignment
We asked all learners to give feedback on our instructors based on the quality of their teaching style.
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.
University of Colorado Boulder
Course
Amazon Web Services
Course
Microsoft
Course
Whizlabs
Course
122 reviews
85.36%
10.56%
0.81%
1.62%
1.62%
Showing 3 of 122
Reviewed on Dec 4, 2024
I learned a bunch and am applying this knowledge to my current work project. The dependencies on open source apps can be a hurdle in the business environment.
Reviewed on Mar 25, 2023
A great project to see the previous course material all coordinated and in action. It is current, and I see the relevancy of it (from the job descriptions I see on LinkedIn, Indeed, etc..). Thank you
Reviewed on May 11, 2024
Worthy conclusion for the DevOps specialization. A ZenHub account is required and that could be a problem to consider.
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
No. This is an introductory course that assumes no prior knowledge of DevOps.
You will need to sign up for a no-charge GitHub account and use other no-charge tools from IBM in your browser.
Access to lectures and assignments depends on your type of enrollment. If you take a course in audit mode, you will be able to see most course materials for free. To access graded assignments and to earn a Certificate, you will need to purchase the Certificate experience, during or after your audit. If you don't see the audit option:
The course may not offer an audit option. You can try a Free Trial instead, or apply for Financial Aid.
The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
When you enroll in the course, you get access to all of the courses in the Certificate, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile. If you only want to read and view the course content, you can audit the course for free.
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.
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.