Academic Teaching and Supervision
This page lists and briefly describes courses I have taught over the years. Will possibly share course material for freely accessible ones.
Supervision
-
2024.02 - Present Cape Town, ZA
AST-Hints P1 - Abstract Syntax Tree Generation and Clustering from Collected Source Code
Chris McHardy
University of Cape Town
Programming Languages,Data Structures & Algorithms, Document management & text processing
- Abstract : The continuous growth of source code adds scalability and performance constraints to analysis and similarity detection applications. Abstract syntax tree (AST) representations enable accurate detec- tion of similarities between source codes based on the structural composition. Many have investigated specific optimisations using ASTs to detect code clones and similarities. However, a common concept arises in determining the optimal tradeoff between perfomance and accuracy within similarity detection and clustering. This projects explores the generation of ASTs, the effects of processing data derived from ASTs, and the clustering techniques utilised with the relevant datasets. A review of related literature has identified correlations between vectorising the AST data and the popularity of partitioning-based clustering techniques.
- Keywords : Abstract Syntax Tree, Clustering, Similarity Detection
-
2024.02 - Present Cape Town, ZA
AST-Hints P2 - Hint Generation & Feedback in Programming Education
Marc Levin
University of Cape Town
Programming Languages,Data Structures & Algorithms, NLP, Generative AI
- Abstract : In the rapidly evolving field of computer science education, the provision of effective feedback is crucial for student learning. This literature review delves into the realm of automated hint generation, a promising approach that could revolutionize the way feedback is provided in programming education. The paper explores various methods and frameworks, with a particular emphasis on automated directive feedback via hint generation, finding ITAP [25] as the most effective hint generation technique surveyed. The review also examines the capabilities of generative AI models in generating hints and their potential to enhance the hint-generation process. The effectiveness of directive feedback is evaluated, highlighting its benefits in providing students with a clear path towards a correct solution, but also its potential drawbacks in hindering student learning when overused. This review provides valuable insights into the current state of automated hint generation and offers directions for future research.
- Keywords : Personalized Feedback/Guidance, Programming Education, Similarity Detection
-
2021.02 - 2022.04 Windhoek, Namibia
Designing A Supervisory Real-Time Tracking System For Namibian Children
Agostinho Tenente Da Silva
Namibia University of Science and Technology
Computer Science, Software Development, HCI
- Abstract : Child-based disappearances; abuse and suicides are still a predominant dilemma in Namibia, with the majority of the cases resulting from poor parental supervision. Accordingly, there is a need for alternative ways to supervise children, especially during outdoor activities where the chances of them wandering far from home are quite high. The immediate objective of this research was to design and develop an android-based supervisory tracking system for children in Namibia, as a means to improve parental supervision. In addition to the geo-tracking component, an audio sentiment analysis features to predict the likely hood of depression signs in children was integrated. This study used spatial data, like global position system (GPS) coordinates and utilized text-based data provided by Google’s speech-to-text feature. The GPS coordinates were captured using an inbuilt GPS module within the tracking device.
- Keywords : Child tracking system, real-time remote tracking, natural processing language, software design
Teaching
- 2023.02 - Present
Teaching Assistant - First Year Programming
University of Cape Town, SIT - Computer Science
I'm currently a teaching assistant for the following first-year Python programming courses: CSC1015F, CSC1017F, CSC1019F, and CSC1010H. Mainly tasked to handle course material and assessment activity management using the school LMS (Amathuba and Vula) and student general administration queries in the courses.
- 2021.02 - 2022.12
Lecturer - Advanced Web Technologies & Python Programming for Data Science
Namibia University of Science and Technology, India Namibia Centre of Excellence in Information Technology (INCEIT)
I was teaching Programming Concepts and Web Technologies at INCEIT, In programmes that aimed at understanding emerging approaches in web technologies and allows students to deal with massive amounts of datasets to analyse and explore in the field of data analytics. It further aims to enable students to implement web applications and prepare them to stay abreast with the ever-changing face of technology in a growing industry.
- 2014.02 - 2022.12
Lecturer - Programming 1 & Object-Oriented Programming
Namibia University of Science and Technology, Faculty of Computing and Informatics (FCI)
I have been teaching Introductory and Object-Oriented Programming Concepts in the faculty since I joined the institution in 2014. I'm pationate about education, problem-solving & software development, and these classrooms offers a blend of all the above.
- 2014.02 - 2016.12
Lecturer - Geomatics Theory of Errors
Namibia University of Science and Technology, Faculty of Engineering and the Built Environment(FEBE)
In my first 2 years at NUST I was involved in teaching the application of Programming concepts to Land Surveying students majoring in Geoinformation Technology. A course I found fun and overly interactive due to my background in applied mathematics.