Software Development
Degrees and Certificates
-
Software Development, Bachelor of Arts
Courses
SD-101
We live in a digital world, and to shape it, you need to understand the systems that power it. This course teaches you not just how computers work, but how they have–and will continue to—evolve. You'll get a taste for coding by building your own website, design AI-powered products, learn how to break down technical problems, and become a wiser digital citizen in the process.
SD-102
Programming is not just about coding; it's about solving problems and thinking logically. This course is a general introduction to coding in Python, one of the most popular and powerful programming languages. Step-by-step, you'll use functions, logic, loops, and libraries to take your ideas from concept to reality. By the end, you’ll be able to create useful applications from scratch, but more importantly solve technical problems - a key skill for everyone.
SD-113
This course teaches you to build data-powered software products. Building on fundamentals of Python programming, you'll learn how to build software that interacts with other software, stays up-to-date, and is something that people want to use and build on top of. In doing so, you'll master all the skills necessary to pursue advanced programming and app development.
Required Prerequisites
Programming for Everyone I-SD-102
SD-204
This course equips you with the tools to pursue a job in Software Engineering after graduation. You’ll explore career paths, potential salary ranges, and common roles in the field, then identify target jobs that align with your personal and financial goals. From there, you’ll build a clear, practical plan for navigating the job search with confidence.
Required Prerequisites
Any introductory programming course
SD-215
Have you ever wondered how search engines like Google can find what you need in milliseconds? The secret lies in efficient data structures. In this course, you will learn the fundamentals of data structures and why they are so crucial for optimizing performance. You’ll explore linked lists, stacks, queues, trees, and graphs, and learn where to use them. By the end, you'll implement these structures to make your programs faster and be well-prepared for coding interviews.
SD-217
Have you ever wondered how you’d manage without websites—no online banking, instant information, or social media? Fortunately, web development brings these essential services to life. In this course, you'll learn the fundamentals of web development, from HTML and CSS to JavaScript. You'll discover how to create visually appealing and interactive sites. By the end, you'll build responsive, user-friendly websites that captivate and engage users.
SD-308
This course is all about equipping you with the skills to build dynamic, database-driven web applications—the core of great app development. You'll create powerful backend scripts using Java and JavaScript, build RESTful APIs, and develop middleware for user authentication and session management. By the end, you'll create apps that are not only functional but also beautiful, engaging, and solve real-world problems.
Required Prerequisites
Programming for Everyone I-SD-102
SD-310
This course will have you building sleek, dynamic web apps using tools, such as React and Angular. Learn to create stunning front-end interfaces, seamlessly connect them with backend services, and ensure everything runs smoothly. You'll dive into component-based architecture, manage state like a pro, and master the art of making your apps fast and responsive. By the end, you'll be ready to create full-stack applications that stand out and wow users.
SD-311
Ever wondered what it takes to turn a great idea into a fully functional software product? This course covers everything from concept to implementation. Learn to use Git for efficient code management, ensure quality with comprehensive testing, and streamline delivery with CI/CD pipelines. Discover design patterns and apply SDLC methods. By the end, you'll be equipped to tackle any software project with confidence and expertise.
SD-316
Imagine having to wait hours to buy a product online due to slow load speeds. That's the world without efficient algorithms. Algorithms are crucial for many everyday applications, such as enabling GPS systems to find the best routes and online stores to load quickly. In this course, you'll uncover the magic behind algorithms, learning divide-and-conquer, dynamic programming, and greedy algorithms. By the end, you'll build scalable applications that won't break.
SD-412
Curious about what happens under the hood of your computer? This course explores the inner workings of computer systems while teaching you the C programming language. Learn the fundamentals of operating systems, memory management, and file systems. Explore how microprocessors execute instructions and how peripherals communicate with the main system. By the end, you'll have an understanding of computer architecture and be able to optimize system performance using C.
Required Prerequisites
Programming for Everyone I-SD-102