Description of the course
The course provides students with a good comprehension of higher-level programming languages integrated with existing programming techniques such as classes, data abstraction, strings, stream processing, and file input/output.
Upon completion of the course students are able to identify appropriate methods to be applied in high-level programming languages in the context of introductory object-oriented design. Specifically, students are able to:
- Describe programming concepts using selected programming language
- Practice appropriate techniques for solving computing problems
- Construct programs using C++ features
As a result of the ICT-INOV project, the course has been updated to include design thinking principles. Students are exposed to design thinking and deploy design thinking to work collaboratively and complete their group assignment that integrates emerging pedagogies and latest technology.
Description of the participants
This is a core compulsory course for Diploma in Computer Science (DCS) students from College of Computing and Informatics (CCI), Universiti Tenaga Nasional. Students are expected to complete this course in their second year of studies. In the 2022 – 2023 academic year ICT-INOV design thinking activities were implemented in both lecture and lab sessions. The course was attended by a total of 11 students.
Description of the design thinking activities
The course implemented design thinking activities aligned with learning outcomes. By using the design thinking methodology, the course project was divided into 5 main project objectives, namely empathize, define, ideate, prototype, and test as follows.
Stage 1: Empathize.
Students were required to form groups and work collaboratively. From day one of class sessions, they sat together with their group members to select which role they would like to actively assume in their respective groups based on their preferences, such as a leader, programmers, or documentation writers.
Stage 2: Define.
Students were required to describe programming concepts using selected programming languages. This activity was then followed by the development of a computer program for their group project. Students brainstormed over a case study given in class. They were also briefed regarding the assessment rubric and marks allocation for this group project to enable them to plan and strategize their collaborative work properly.
Stage 3: Ideate.
After forming their respective groups, students brainstormed collaboratively. The brainstorming session spanned several sessions. It took placed both inside and outside of classroom. The purpose of this activity was to enable students to practice appropriate techniques in solving computing problems and to help them generate useful ideas before transforming their ideas and algorithms into coding for system development.
Stage 4: Prototype.
Students worked collaboratively to produce a prototype for their group project. They were required to transform their algorithms into an equivalent computer program. Each group prepared and presented their group project documentation which contributed towards 5% of the total mark distributions.
Stage 5: Test.
Students tested their computer programs and demonstrated their functionality to the class.