AI Academy

Introduction to Software Engineering

Instructor: Rav Ahuja , Bethany Hudnutt Duration: 1 hour to complete
Objective 1 Explain the principles of software engineering, the Software Development Life Cycle (SDLC), and software development tools, technologies, and stacks
Objective 2 Differentiate between programming language types and apply basic programming constructs such as loops, conditionals, and functions using Python
Objective 3 Summarize key software architecture and design approaches, including common architectural and deployment patterns
Objective 4 Outline the roles, skills, and career paths in software engineering
Integrated Development Environments
Software Design
Application Development
Python Programming
Unified Modeling Language
Software Development Tools
Software Development Methodologies
Software Development Life Cycle
Systems Development
Programming Principles
Software Design Patterns
Software Architecture
Program Development
Agile Methodology
Engineering Software
Development Environment
Software Engineering
Software Documentation

Introduction to Cloud Computing

Instructor: Rav Ahuja Duration: 1 week at 10 hours a week
Objective 1 Define cloud computing and explain essential characteristics, history, the business case for cloud, and the emerging technologies enabled by cloud
Objective 2 Describe the cloud service models- IaaS, PaaS, SaaS, and cloud deployment models- Public, Private, Hybrid; explain cloud infrastructure components
Objective 3 Explain emerging Cloud related trends including HybridMulticloud, Microservices, Serverless, Cloud Native, DevOps, and Application Modernization
Objective 4 List and describe services of popular cloud platforms including AWS, Microsoft Azure, Google Cloud, IBM Cloud, Alibaba Cloud, and others
Infrastructure As A Service (IaaS)
Virtual Machines
Cloud Platforms
Cloud Storage
Serverless Computing
Cloud Services
Microservices
Emerging Technologies
DevOps
Cloud Security
Cloud-Native Computing
Hybrid Cloud Computing
Cloud Computing
Software As A Service
Cloud Computing Architecture

Introduction to HTML, CSS, & JavaScript

Instructor: Michelle Saltoun , Upkar Lidder Duration: 3 hours to complete
Objective 1 Describe the Web Application Development Ecosystem and terminology like front-end developer, back-end, server-side, and full stack.
Objective 2 Identify the developer tools, online editors like JSFiddle, and integrated development environments (IDEs) for building and testing web applications.
Objective 3 Create and structure basic web pages using HTML and style them with CSS.
Objective 4 Develop dynamic and interactive web pages using JavaScript, including DOM manipulation, form validation, and client-side scripting techniques.
Scripting
HTML and CSS
Web Development
Application Programming Interface (API)
Browser Compatibility
Bootstrap (Front-End Framework)
Web Design
Web Applications
Responsive Web Design
Front-End Web Development
Javascript

Getting Started with Git and GitHub

Instructor: Rav Ahuja , Upkar Lidder , Lavanya Thiruvali Sunderarajan Duration: 1 hour to complete
Objective 1 Describe version control and its place in social and collaborative coding and in DevOps.
Objective 2 Explain basic Git concepts such as repositories and branches used for distributed version control and social coding.
Objective 3 Create GitHub repositories and branches, and perform pull requests (PRs) and merge operations, to collaborate on a team project.
Objective 4 Build your portfolio by creating and sharing an open-source project on GitHub.
DevOps
Version Control
Web Applications
Git (Version Control System)
GitHub
Collaborative Software
Command-Line Interface
Open Source Technology

Developing Front-End Apps with React

Instructor: IBM Skills Network Team , Richa Arora Duration: 5 hours to complete
Objective 1 Develop interactive user interfaces (UIs) and web applications using JavaScript technologies including React, JSX, and ES6.
Objective 2 Build dynamic front-end applications quickly and easily with reusable React components.
Objective 3 Employ various React concepts and features, including props, states, hooks, forms, and Redux.
Objective 4 Demonstrate your React skills by building several front-end applications such as a shopping cart.
Front-End Web Development
Data Structures
Event-Driven Programming
React Redux
Full-Stack Web Development
JavaScript Frameworks
UI Components
React.js
Javascript
Web Applications
Cascading Style Sheets (CSS)

Developing Back-End Apps with Node.js and Express

Instructor: Upkar Lidder , Sachin Jambur Duration: 2 hours to complete
Objective 1 Create server-side applications using the Node.js JavaScript run time.
Objective 2 Extend your Node.js applications with third-party packages and frameworks, including Express.
Objective 3 Use npm to manage Node.js packages in your Node.js application.
Objective 4 Develop asynchronous callback functions and promises to complete asynchronous operations.
Cloud Applications
Web Servers
JSON
Application Programming Interface (API)
Restful API
Authentications
Back-End Web Development
Package and Software Management
Javascript
Web Applications
Server Side
Middleware
Node.JS
JavaScript Frameworks

Python for Data Science, AI & Development

Instructor: Joseph Santarcangelo Duration: 4 hours to complete
Objective 1 Develop a foundational understanding of Python programming by learning basic syntax, data types, expressions, variables, and string operations.
Objective 2 Apply Python programming logic using data structures, conditions and branching, loops, functions, exception handling, objects, and classes.
Objective 3 Demonstrate proficiency in using Python libraries such as Pandas and Numpy and developing code using Jupyter Notebooks.
Objective 4 Access and extract web-based data by working with REST APIs using requests and performing web scraping with BeautifulSoup.
Computer Programming
Python Programming
Data Structures
NumPy
Programming Principles
Application Programming Interface (API)
Jupyter
Data Literacy
Pandas (Python Package)
Data Manipulation
Data Import/Export
Restful API
Scripting
Web Scraping
File Management
Object Oriented Programming (OOP)
Data analysis

Developing AI Applications with Python and Flask

Instructor: Abhishek Gagneja , Ramesh Sannareddy Duration: 1 hour to complete
Objective 1 Describe the steps and processes involved in creating a Python application including the application development lifecycle
Objective 2 Create Python modules, run unit tests, and package applications while ensuring the PEP8 coding best practices
Objective 3 Build and deploy web applications using Flask, including routing, error handling, and CRUD operations.
Objective 4 Create and deploy an AI-based application onto a web server using IBM Watson AI Libraries and Flask
Integrated Development Environments
Software Development Life Cycle
Flask (Web Framework)
Unit Testing
Python Programming
Application Programming Interface (API)
Artificial Intelligence
Programming Principles
Application Deployment
Style Guides
Web Development
Web Applications
Application Development

Django Application Development with SQL and Databases

Instructor: Yan Luo , Rav Ahuja Duration: 1 hour to complete
Objective 1 Explain what a database is and create an entity relationship data model for a relational database.
Objective 2 Compose SQL queries to insert, select, update, and delete data in a database.
Objective 3 Use Django ORM to build object-oriented databases.
Objective 4 Integrate Bootstrap into your Django template and build interactive web pages.
Application Deployment
Cloud Applications
Model View Controller
Full-Stack Web Development
Databases
Django (Web Framework)
SQL
UI Components
Database Management
Application Development
Web Applications
Content Management
Bootstrap (Front-End Framework)
Object-Relational Mapping
Authentications
Authorization (Computing)
Responsive Web Design
Database Design
Relational Databases

Introduction to Containers w/ Docker, Kubernetes & OpenShift

Instructor: Alex Parker , Upkar Lidder Duration: 7 hours to complete
Objective 1 Using containers, learn how to move applications quickly across any environment.
Objective 2 Build cloud native applications using Docker, Kubernetes, OpenShift, and Istio.
Objective 3 Describe and leverage Kubernetes architecture to set up and use an entire lifecycle-based container management system.
Objective 4 Create and leverage a YAML deployment file to configure and create resources such as pods, services, replicasets, and others in a declarative way.
Virtualization
Microservices
Containerization
CI/CD
Command-Line Interface
Istio
OpenShift
DevOps
YAML
Cloud-Native Computing
Kubernetes
Application Deployment
Docker (Software)
Scalability

Application Development using Microservices and Serverless

Instructor: Alex Parker Duration: 1 hour to complete
Objective 1 Summarize the fundamentals of Microservices, their advantages, and contrast with monolithic architectures.
Objective 2 Create REST API endpoints and invoke them using cURL and Postman; Use SwaggerUI to document and test APIs.
Objective 3 Create, and deploy microservices using Docker containers and serverless technologies like IBM Code Engine.
Objective 4 Practice hands-on with labs and projects using a no-charge cloud-based environment.
Restful API
Application Development
Containerization
Scalability
IBM Cloud
API Gateway
Istio
Microservices
Serverless Computing
Kubernetes
Cloud Computing
Software Architecture
Application Deployment
OpenShift
Cloud Applications

Full Stack Application Development Capstone Project

Instructor: Upkar Lidder , Lavanya Thiruvali Sunderarajan , Yan Luo Duration: 1 hour to complete Recommended experience
Objective 1 Combine and apply your JavaScript, React.js, Python, Node.js, and Express skills by completing a real-world project.
Objective 2 Build a real-world web application using front end and back-end technology.
Objective 3 Deploy your Django full stack web application on the cloud using containers and serverless.
Objective 4 Practice DevOps principles by employing CI/CD pipelines.
Application Development
IBM Cloud
Cloud Applications
Software Architecture
Serverless Computing
Containerization
Web Applications
Application Deployment
Node.JS
HTML and CSS
CI/CD
User Accounts
Microservices
Kubernetes
Full-Stack Web Development
React.js
Back-End Web Development
Docker (Software)
Front-End Web Development
Restful API

Full Stack Software Developer Assessment

Instructor: Rav Ahuja Duration: 1 hour to complete Recommended experience
Objective 1 Demonstrate mastery of skills and knowledge acquired in the IBM Full Stack Software Developer Professional Certificate.
Objective 2 Apply understanding of common technologies related to full-stack, front-end, and back-end application development.
Objective 3 Explain concepts in cloud computing, web development, HTML, CSS, JavaScript, GitHub, Python and Django programming, microservices, and containers.
Objective 4 Analyze and troubleshoot issues in software design, development, deployment, and operations.
GitHub
Serverless Computing
Back-End Web Development
Server Side
Cloud-Native Computing
Web Development
Node.JS
Cloud Computing
Django (Web Framework)
Docker (Software)
Git (Version Control System)
DevOps
OpenShift
CI/CD
Containerization
Full-Stack Web Development
Web Applications
Microservices
Kubernetes
Software Development

Generative AI: Elevate your Software Development Career

Instructor: Rav Ahuja , Ramanujam Srinivasan Duration: Approx. 17 hours
Objective 1 Demonstrate how to generate code snippets, scripts, and programs using generative AI models
Objective 2 Apply generative AI techniques for application design, architecture, bug detection, code refactoring, and program optimization
Objective 3 Develop innovative solutions using generative AI-powered tools such as ChatGPT, GitHub Copilot, Google Gemini, and IBM watsonx Code Assistant
Objective 4 Explainthe challenges and ethical considerations associated with using generative AI for programming, along with strategies for mitigating them
Software Architecture
Software Development Tools
Data Ethics
Test Automation
Generative AI
Artificial Intelligence
Prompt Engineering
Natural language processing
Software Testing
CI/CD
Software Development
Application Security
Large Language Modeling
DevSecOps
Code Review

Software Developer Career Guide and Interview Preparation

Instructor: IBM Skills Network Team Duration: 2 hours to complete
Objective 1 Describe the role of a software developer, typical career paths, and emerging opportunities in the field
Objective 2 Explain how to prepare for a job search, including researching companies, identifying suitable roles, and developing key
Objective 3 Apply strategies for networking and assessing job listings to effectively target and pursue software development positions
Objective 4 Demonstrate readiness for each stage of the interview process, including technical challenges, behavioral questions, and post-interview follow-up
Professional Development
Engineering Software
DevOps
Problem Solving
Application Development
Software Development
Technical Design
Professionalism
LinkedIn
Git (Version Control System)
Relationship Building
Interviewing Skills
Software Testing
Verbal Communication Skills
Software Engineering
Communication