This module discusses handling stress during programming, covering:
Students will explore strategies for managing stress and improving their programming skills.
This module features Richard Buckland teaching the Higher Computing course at UNSW. It introduces the foundational aspects of computer science, including programming, systems, and essential computer literacy skills. Students will learn about programming fundamentals and how to work effectively in teams. The course emphasizes understanding how computers operate at a fundamental level.
This module offers an overview of the computing landscape as presented by Richard Buckland. It encompasses key concepts such as:
Students will also engage with practical experimentation to enhance their learning experience.
This module delves into machine code programming, where students will:
Through practical exercises, participants will gain a deeper understanding of low-level programming and how it interacts with hardware.
In this session, Richard Buckland introduces the foundational elements of a simple C program. Key topics include:
Students will learn best practices in programming style and how to write clear and maintainable code.
This module focuses on enhancing code clarity and style in C programming. Richard Buckland discusses:
This session aims to improve students' coding practices and their ability to troubleshoot issues effectively.
This module centers on problem-solving strategies in programming. Richard Buckland discusses:
Students will explore how to maintain motivation and cope with challenges in software development.
This session discusses the concept of side effects in programming. Richard Buckland covers:
Students will gain insights into writing robust code that minimizes unintended consequences.
In this module, Richard Buckland guides students through writing a simple C program named "countdown." The session includes:
This collaborative programming effort emphasizes learning through trial and error, fostering essential coding skills.
This module serves as an introduction to the COMP1917 Higher Computing course, tailored for first-year Computer Science and Engineering students. The content includes:
Students will gain a solid grounding in computing that will support their further studies.
This module is a revision session designed for students to consolidate their learning after the first two weeks of lectures. Richard Buckland discusses:
The aim is to help students reinforce their understanding and build confidence in their programming abilities.
This module continues the revision process for the COMP1917 course, enabling students to solidify their grasp of early programming concepts. Richard Buckland emphasizes:
Students will benefit from further discussions and problem-solving strategies aimed at enhancing their skills.
This module introduces students to the concept of recursion in programming through a practical example. Richard Buckland covers:
Students will grasp the importance of recursion within computer science and its practical applications.
This module focuses on understanding functions in programming. Richard Buckland explains:
Students will learn how to effectively utilize functions to improve their programming practices.
In this module, Richard Buckland discusses strategies for addressing problems that arise during programming. Key topics include:
This session equips students with tools to navigate challenges effectively in their coding journey.
This module explores the mechanics of function calls within C programming. Richard Buckland addresses:
Students will gain insights into the underlying operations of function calls, enhancing their understanding of program execution.
This module continues the discussion on function calls, delving deeper into their implementation. Richard Buckland covers:
Students will solidify their understanding of function mechanics and best practices in programming.
This extension lecture by Richard Buckland highlights the groundbreaking contributions of Alan Turing to the field of computing. Key points include:
Students will gain a deeper appreciation for Turing's legacy and its relevance to modern computing.
This module continues the exploration of Alan Turing's ideas, particularly the Turing Test. Richard Buckland discusses:
Students will reflect on the intertwining of philosophy and computing in Turing's work.
This module introduces students to the COMP1917 course in its fourth week. Richard Buckland discusses:
Students will be equipped with the necessary tools and mindset to thrive in their programming studies.
This module revises the concept of frames in programming, a key component of function calls. Richard Buckland addresses:
Students will enhance their understanding of function mechanics and how frames facilitate program execution.
This module covers the topic of arrays in C programming. Tim Lambert introduces:
Students will learn about the utility of arrays in programming and how to avoid common mistakes.
In this session, Tim Lambert continues the exploration of arrays in C programming. Key topics include:
Students will deepen their knowledge of arrays and their applications in programming.
This module introduces the concept of "Pass By Reference" in relation to arrays in C programming. Tim Lambert discusses:
Students will understand the implications of reference passing on memory and performance in programming.
In this module, we will explore the concept of fun in game design, led by UNSW researcher Malcolm Ryan. The lecture will cover:
Students will gain insights into what makes games engaging and the psychological aspects that influence player enjoyment.
This module provides a comprehensive review of pointers and indirect addressing in programming. Topics include:
Practical examples will demonstrate how pointers can enhance programming efficiency and flexibility.
This engaging lecture challenges students to solve a Sudoku puzzle in real-time while discussing problem-solving approaches:
Students will learn the most important aspects of programming and how to effectively approach problem-solving.
In this module, students will review the code from the previous lecture, discussing:
This interactive session focuses on deepening understanding of programming concepts through real-world examples.
This module introduces students to extreme programming methodologies, featuring:
Through examples, students will understand the benefits of extreme programming practices in software development.
This module presents an unexpected miracle in programming, contrasting:
Students will reflect on their programming experiences and learn how to approach larger projects effectively.
This lecture focuses on standards and interfaces in programming, highlighting:
Students will learn how to write robust large-scale programs effectively.
This module discusses handling stress during programming, covering:
Students will explore strategies for managing stress and improving their programming skills.
This extension lecture introduces the concept of randomness, discussing:
Students will gain a deeper understanding of how randomness is used in computational contexts.
This lecture addresses the complexities of concrete types, focusing on:
Students will learn how to implement better programming practices through effective organization.
This module focuses on Abstract Data Types (ADTs) and their implementation in C, covering:
Students will explore the advantages of using ADTs in programming and their impact on code quality.
This module discusses the major project for the course, focusing on:
Students will learn about project management and collaboration in a competitive environment.
This module focuses on converting SudokuGrid into an Abstract Data Type (ADT), discussing:
Students will gain practical skills in implementing ADTs in their programming projects.
This extension lecture introduces steganography, exploring:
Students will engage with intriguing examples and consider the implications of hidden information.
This module encourages students to persevere in programming, discussing:
Students will learn how to tackle complex problems with resilience and creativity.
This module delves into the Australian National Anthem and its implications in programming, discussing:
Students will engage with practical coding exercises related to file operations and memory management.
This module focuses on linked lists, covering:
Students will learn hands-on coding techniques for implementing linked lists effectively.
This extension lecture introduces students to do-it-yourself digital design using CMOS chips, discussing:
Students will explore the exciting world of digital design and its real-world applications.
This module discusses complexity and trees in programming, covering:
Students will learn how to implement tree structures and analyze their complexity in different programming scenarios.
This module focuses on programming errors and their prevention, covering:
Students will learn how to identify and avoid common programming pitfalls to improve code reliability.
This module provides a taste of graphics programming, featuring:
Students will gain a foundational understanding of graphics programming and its applications in real-world projects.
This module discusses sample tree code for loop detection, focusing on:
Students will learn practical applications of tree structures in programming and algorithm design.
This module delves into the ethical considerations in computing, covering:
Students will engage in discussions about ethical responsibilities and the impact of technology on society.
The Hamming Error Correcting Code module provides an in-depth exploration of error detection and correction techniques used in computing. Students will learn about:
This knowledge is essential for anyone looking to understand data integrity and reliability in computing systems.
The Professionalism module delves into the ethical and professional standards expected in the computing industry. Key topics include:
Students will be equipped with the knowledge to navigate their professional lives with integrity.
This module focuses on answering the question, "What makes a good programmer?" Topics include:
Through discussions and reflections, students will gain insights into becoming proficient programmers.
This module presents a comprehensive review of the entire semester in computing, covering key concepts and experiences. Students will:
This fast-paced review helps solidify understanding and prepares students for future challenges in computing.
The Learning and Teaching Computing module concludes the course with a focus on educational philosophies and motivations. Key points include:
This reflective session prepares students for their ongoing learning experiences beyond the course.
The Strange Case of the Erotic Kiss module provides an engaging conclusion to the first computing course. This session covers:
This module aims to leave students with lasting knowledge and memories as they transition to the next stage of their education.
This module showcases live C coding samples, providing students with practical coding experience. The content includes:
These coding demonstrations are designed to enhance understanding and application of C programming techniques.
This module presents additional live C coding samples focused on scope and pass-by-copy methodology. Key features include:
These coding samples aim to solidify foundational knowledge in C programming and enhance the learning process.
This module features introductory live C coding samples that cover essential programming techniques. Students will learn about:
This foundational module will prepare students for more advanced programming challenges in the course.
This module discusses the innovative concept of gamification in education and its impact on student engagement. Topics covered include:
This insightful discussion encourages educators to rethink traditional teaching methods and explore new ways to foster joy in learning.