What you'll learn
Explain the principles of software engineering, the Software Development Life Cycle (SDLC), and software development tools, technologies, and stacks
Differentiate between programming language types and apply basic programming constructs such as loops, conditionals, and functions using Python
Summarize key software architecture and design approaches, including common architectural and deployment patterns
Outline the roles, skills, and career paths in software engineering
Skills you'll gain
What you'll learn
Explain the fundamental concepts and applications of AI in various domains.
Describe the core principles of machine learning, deep learning, and neural networks, and apply them to real-world scenarios.
Analyze the role of generative AI in transforming business operations, identifying opportunities for innovation and process improvement.
Design a generative AI solution for an organizational challenge, integrating ethical considerations.
Skills you'll gain
What you'll learn
Describe generative AI and distinguish it from discriminative AI.
Describe the capabilities of generative AI and its use cases in the real world.
Identify the applications of generative AI in different sectors and industries.
Explore common generative AI models and tools for text, code, image, audio, and video generation.
Skills you'll gain
What you'll learn
Explain the concept and relevance of prompt engineering in generative AI models.
Apply the best practices for creating prompts.
Assess commonly used tools for prompt engineering.
Apply common prompt engineering techniques and approaches for writing effective prompts.
Skills you'll gain
What you'll learn
Describe the Web Application Development Ecosystem and terminology like front-end developer, back-end, server-side, and full stack.
Identify the developer tools, online editors like JSFiddle, and integrated development environments (IDEs) for building and testing web applications.
Create and structure basic web pages using HTML and style them with CSS.
Develop dynamic and interactive web pages using JavaScript, including DOM manipulation, form validation, and client-side scripting techniques.
Skills you'll gain
What you'll learn
Develop a foundational understanding of Python programming by learning basic syntax, data types, expressions, variables, and string operations.
Apply Python programming logic using data structures, conditions and branching, loops, functions, exception handling, objects, and classes.
Demonstrate proficiency in using Python libraries such as Pandas and Numpy and developing code using Jupyter Notebooks.
Access and extract web-based data by working with REST APIs using requests and performing web scraping with BeautifulSoup.
Skills you'll gain
What you'll learn
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
Build and deploy web applications using Flask, including routing, error handling, and CRUD operations.
Create and deploy an AI-based application onto a web server using IBM Watson AI Libraries and Flask
Skills you'll gain
What you'll learn
Demonstrate how to generate code snippets, scripts, and programs using generative AI models
Apply generative AI techniques for application design, architecture, bug detection, code refactoring, and program optimization
Develop innovative solutions using generative AI-powered tools such as ChatGPT, GitHub Copilot, Google Gemini, and IBM watsonx Code Assistant
Explain the challenges and ethical considerations associated with using generative AI for programming, along with strategies for mitigating them
Skills you'll gain
What you'll learn
Describe the role of a software developer, typical career paths, and emerging opportunities in the field
Explain how to prepare for a job search, including researching companies, identifying suitable roles, and developing key
Apply strategies for networking and assessing job listings to effectively target and pursue software development positions
Demonstrate readiness for each stage of the interview process, including technical challenges, behavioral questions, and post-interview follow-up