Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to main content

    Michael Cassens

    This Research to Practice Work in Progress paper examines a persistent issue with many CS1 courses – finding assignments that are engaging while still covering core learning objectives necessary for success in the course and computer... more
    This Research to Practice Work in Progress paper examines a persistent issue with many CS1 courses – finding assignments that are engaging while still covering core learning objectives necessary for success in the course and computer science programs. In traditional CS1 courses, textbook tasks are usually elementary, mathematically based, and only somewhat relevant to the student. Instead, if we allow students to design and implement their own projects, they not only master the primary objectives of the course, but they can do so in a way that is most meaningful and engaging to them. While project-based approaches to CS1 are not new, most employ predefined projects created by the instructor or found online through community-based educational resources. In this research, we leverage the fact that many CS students are double majors and allow them to create projects that are unique and applicable to these other interests. We contrast a traditionally taught CS1 class with a project-based CS1 class and compare student achievement between the two. We discover that students perform better on most learning objectives in the project-based class and they gain a deeper understanding of how to scaffold programming components into follow-on assignments. In addition, students indicate that the project-based focus was more enjoyable and more useful as they create projects that apply to their personal interests and thus their future.
    ABSTRACT An on-going problem with many courses across the CS curriculum is finding time to incorporate programming activities that are necessary for other critical aspects of the course. For example, in UI design the practice and... more
    ABSTRACT An on-going problem with many courses across the CS curriculum is finding time to incorporate programming activities that are necessary for other critical aspects of the course. For example, in UI design the practice and evaluation of good design principles typically depends on the creation of at-least a semi-functional software prototype. However, having to include software implementation in courses whose main focus lies elsewhere can distract from core concepts, and oftentimes there are pedagogical reasons to separate out implementation. By co-linking upper-division courses in our CS program, we attempted to solve this problem by leveraging concepts of software design and implementation across two courses. In this experience report, we describe how the co-linked courses were structured, what we encountered, what worked well and what still needs improvement. Other CS educators might capitalize on our successes, and learn from our mistakes, in similar set-ups within their own curriculums.