Master AI & Machine Learning for 50% Off
Go under the hood of AI — neural networks, real-world applications & more. Designed by UNSW experts.
Enroll Now
Learn fundamental programming concepts and computational thinking skills through a comprehensive 15-hour course that emphasizes both technical proficiency and professional development. Master essential programming principles including function scope, abstraction, recursion, branching, iteration, and data structures while working with arrays, lists, and abstract data types. Develop a scientific mindset for problem-solving by applying methodical approaches to algorithm design, debugging, and troubleshooting complex programming challenges. Explore how computers execute code by examining the translation from high-level programming to machine code, understanding memory allocation, data storage, and the differences between imperative and declarative programming paradigms. Cultivate professional programming practices through unit testing, test-driven development, code review processes, and adherence to style guides while learning to identify and critique code quality, design patterns, and "hacky" implementations. Build collaborative skills by working in teams to negotiate specifications, develop solutions that adhere to agreed interfaces, and provide constructive feedback through peer code reviews. Strengthen critical thinking abilities by formulating problem-solving strategies, testing assumptions, distinguishing relevant information from noise, and identifying trade-offs in software design decisions. Develop independent research skills to explore new programming concepts, curate reliable information sources, engage with programming communities, and contribute findings through experimentation and knowledge sharing. Address ethical considerations in software development while exploring creative expression through programming projects that serve both practical automation needs and artistic purposes, ultimately preparing you to write high-quality, functional software that demonstrates both technical competence and creative problem-solving abilities.