Course overview
The course introduces students to fundamental concepts and problem-solving techniques that are prerequisites to programming courses. Topics covered include programming language environments, basic mathematics, algorithms, algorithm techniques, and basic understanding of data structures. Upon completion of the course students are able to discuss various problem-solving techniques for different types of problems, apply suitable problem-solving techniques in solving a given problem, and adopt appropriate problem-solving techniques to solve a given problem in a working team.
Instead of focusing more on theoretical problem solving, this subject emphasizes basic algorithms and techniques in Computer Science such as of graphs, search, and sorting algorithms as well as dynamic programming. The class activities involve mathematical games or puzzles, such as the tower of Hanoi, the travelling salesman, the gallery problem, and the poison problem.
Participants in piloting
This is a core, compulsory course for students enrolled in the Bachelor in Computer Science (Software Engineering) (Hons.) at Universiti Tenaga Nasional. The course is part of the 1st year curriculum. On average, a total of 50 – 100 students attend this course every semester. It bears 2 credit points that correspond to a 2 hour lecture each week.
Use of ALIEN services and tools
One of the topics addressed through active learning methods was algorithms. The session started with a lecture on algorithm. Subsequently, students were assigned a problem and were asked to present it in pairs through a video. Students used game-based methods instead of a formal presentation. Students were assisted in this activity through a pre-recorded video that they could use as a reference on presentation techniques. The activity instructions were uploaded onto the Moodle® learning management system and the MSTeams® platform for easy access.
Students were free to use official communication channels to discuss their understanding on algorithm techniques before proceeding with their work in pairs. This method encouraged active learning virtually.
The objective of this active learning activity was to develop student understanding on algorithms and build their capacity to apply them in practical situations. Furthermore, the activity aimed to build student skills on selecting an appropriate algorithm for solving a given problem. Students were allowed to choose any game available (on earth), be it a traditional toy, board game, modern children’s toy, or any new game that they could design by combining existing games. The activity encouraged originality through extra points. Students were free to get family members or roommates to join them in their video presentation, in which both team members had to be visible. Links to student videos were shared to the communication channels so that other students could also watch their classmates’ presentations and perhaps to offer a “like” or two.
Once the presentations are all submitted, inspection and evaluation were performed virtually. Students were evaluated for their presentation skills, the rules of the game they developed, the clarity of their presentation, creativity and originality, and the problem-solving technique applied. Results were published on the Moodle® learning management system for the benefit of the entire class.