Session Assessment
Day 1
Good
- Asking students many questions. Asking before students about a concept before introducing it.
Bad
- Session felt too long, students got tired at the end.
Day 2
Good
- Reinforcing the old concepts through revision, asking students and practice.
Bad
- Explanation of binary numbers was mixed with data types and not explained in a clear separate way. Too much was given in a mixed manner.
- Time was waisted due to 2 new students joining and students coming later, also 3 students did not show up.
Day 3
Good
- Students gained more confidence in programming and practiced the programming process more.
- Students had a thorough practice session in problem dissolving.
Bad
- Did not have time to cover new stuff except the input function scanf(). Spent too much time in practice implementing a relatively difficult mathematical program.
Day 4
Good
- Students learned several new concepts through gradually building a program in a natural development way.
- Using realistic examples for programs: age, fruits.
Bad
- Students did not have the chance to fully grasp and feel totally comfortable with all the new concepts introduced (such as relational and logical operators).
Day 5
Good
- Explained the for loop fully.
- Lots of practice.
- Gave them ample opportunity to problem solve on their own and discover solutions by themselves through thinking and trial and error.
- Deeply comprehended the for loop.
Bad
- Took so little content; only the for loop, did not take arrays nor the while loop.
Day 6
Good
- Students understood what multi-dimensional arrays are.
Bad
- Students are unable to grasp basic concepts such as input with scanf(), blocks of code inside a for statement and nesting. More emphasis and practice should have been given to algorithms at the start of the course. In addition, using a debugger to trace the running of the program statement by statement as well as using watches to check on values of variables would be invaluable in enabling students to fully comprehend how the programming constructs are functioning. Introduce the concept of code blocks to students. Provide students with a reference book to use during the course.
- Overdoing the method of letting students discover on their own how to do things (such as how to iterate through a two-dimensional array) can lead to loss of confidence in themselves and difficulty in understanding the concepts upon failing to reach the desired method. Sometimes presenting how things are done right away without letting students deduce it by themselves (specially when it is about the basics) is better; it rests the minds and makes them better able to learn the concepts and be able to use them with confidence and ease.
Day 7
Good
- Revising arrays.
- Learning about strings.
- Understanding how functions work clearly.
- Not overloading brains of students by asking them for excessive work. Giving them the answers almost at once.
Bad
- Did not provide enough practice examples on functions. This will lead to students not being able to fully absorb and feel how to use functions in their programs. It will lead to them not having enough practice in using functions. This was partly due to lack of time (due to leaving half an hour early mandatorly, and using some time in the beginning for revising arrays, in addition to explaining strings as well; plus going softly on functions due perhaps to students not being fresh enough that day).
Day 8
Good
- Went through a sorting algorithm visually on the whiteboard.
Bad
- Only one student attended.
- Students are not grasping concepts well. They need more practice. Suggested solution: provide students with take-home assignments.