SURF Mentoring
Potential projects/topics: Dr. Schreib’s research interests lie in designing tools and techniques for providing interactive learning experiences within large introductory computer science courses, with a primary goal of leveraging technology to address the challenges of scale posed by high enrollment in computer science programs. She is particularly interested in identifying foundational computer science topics that students find challenging and building software designed to interactively teach these concepts using a combination of guided practice and feedback. Dr. Schreib’s research projects typically involve
- using full-stack software development to build a pedagogical tool,
- deploying that tool within a controlled study in a course at Rice,
- and analyzing its effectiveness in improving student learning outcomes.
Potential skills gained: Depending on the project, students will gain experience with frontend, backend, or full-stack software development. Students working on frontend projects will primarily learn how to use JavaScript to implement an interactive web-based user interface, and will also learn the basics of HTML and CSS. Students working on backend projects will gain experience using Java to accomplish a variety of different project-specific tasks, and may also gain experience with the Spring framework and basic SQL.
Required qualifications: Students should have completed COMP 140 + COMP 182 by the start of the summer. Additional relevant experience (particularly COMP 215 + COMP 312) would be helpful for certain projects. No prior experience with any of the specific technologies used (e.g. JavaScript, HTML, CSS, Spring, SQL) is required -- the introductory sequence here at Rice will give you a good foundation of programming and problem-solving skills, and I'm happy to help you learn any additional skills that are needed in order to complete your project!
Direct mentor: Faculty/P.I.
Student Project Titles List
How can peer evaluation be utilized to develop a tool that enhances students’ program design proficiency while enabling accurate and efficient assessment of their design skills?
Java Memory Tool and its Effectiveness