Teaching the undergraduate course on Algorithms and Programming (commonly known as CS1) has always been a challenge. On the one hand, this course is a cornerstone in the academic and professional development of CS students. Many, if not all of the major disciplines in Computer Science depend on the concepts of logical and algorithmic reasoning developed in this course. Yet many students leave the course without a sufficient grasp of such concepts, especially when it comes to their application in real-world problems. We believe that a clear link must be established between the concepts being taught and the kind of problems pupils will encounter when facing real situations where such concepts may apply, both later in other courses and after graduation, when they become CS professionals.
Based on this assumption, we are currently developing a methodology to teach Algorithms and Programming using the principles of Problem-Based Learning (PBL). The overall approach is to replace traditional lectures with tutor-guided workshop sessions where students are presented with problems that resemble real-world scenarios. Working in small groups, and building upon previous knowledge and experience, students go through a series of steps when they gather information about the problem and the concepts they need to learn in order to build a proper solution. After performing research on the subject and developing a solution proposal, a step that is carried out individually, students get together again (in another workshop session) to show up and discuss their solutions, aiming to learn with each other and refine their solutions.
This more traditional approach to PBL has been complemented in our project with mini-lectures where specific concepts are introduced to students. This is due to the particular nature of Algorithms and Programming, where some concepts may not be related with students´ background knowledge, thus requiring a proper introduction.
In addition, we have noticed that the PBL method, although giving good results in terms of content retention and the ability to apply such content in real-world scenarios, has problems of efficiency. This means that coverage of the course syllabus may be compromised as students take up too much time to progress between topics. This has led us to propose the use of modern technology tools, notably tablet-based computing, to enhance the efficiency of the method. Such tools can assist both students and tutor in the PBL process, aiming to streamline the PBL steps, especially by fostering collaboration and the gathering, storage, correlation and retrieval of all data and information produced and researched by the students.
The main goal of the project is to investigate and propose a methodology to effectively use tablet PCs as classroom-based tools to assist in the PBL process. Tablets are used on a one-to-one basis as a collaboration-enhancing tool through which students can exchange and present their developments, as well as exchange ideas and partial developments during the process. A number of software tools are used in the process, some of which are under active development within the project, either as extensions to existing software or as completely new applications. The end result of the project will be evaluated by applying the methodology in a number of first year classes during the two-year span of the project. Students´ overall achievements will then be compared with classes not using the methodology, hoping to measure the advantages of the methodology and the need for further enhancements.