Matthias Hauswirth Teaching

Readings in Computer Science Education

On this page: [ Participants | Schedule | Proposed Topics | Resources | Course Information | Textbook | Glossary ]
The CSE Reading Group is a group of PhD students and faculty members in informatics interested in everything related to improving the teaching of computer science. Everybody with an interest in computer science education is welcome to attend the meetings. However, you are kindly requested to come prepared (that is, to do the assigned reading).


Name Past USI teaching assignments Summer'06 USI teaching assignments Topics taught elsewhere Research area
Matthias Hauswirth CA, SA1 SA2 Programming (Java), Distributed Objects, GUI Development, XML System Performance Understanding
Marco D'Ambros PF1 PF2   Software Evolution and Reverse Engineering
Jochen Wuttke CA SA2 Operating Systems and CA  
Romain Robbes PF1, PF2      
Anna Egorova-Förster NC Information and Knowledge Management, AI-part MatLab, Image Processing, Electronics Fundamentals, Hardware Lab, C++, Computer Structures, Computer Organization Sensor Networks
Lásaro Camargos     Programming fundamentals (introduction to algorithms and c language), comparative study of languages (lisp, prolog and java)  
Cédric Mesnage AD SA4    
Francesco Regazzoni RTOS@ALARI      
Jeff Rose SA1 SA4 Intro to programming with C++ in CSCI 1300 Peer-to-peer networking and data mining
Saurabh Mehta CA      
Cyrus Hall CA, CN DG Introduction to Programing (CSCI 1300), Data Structures (CSCI 2270), and Java I and Java II (APPM 2710 and APPM 2750) Sensor Networks/P2P
Leonardo Leiria Fernandes NC CN   Sensor Networks
Chiara Braghin AFV PhD course   Design of applications for Office Automation, in the curriculum of the Master program of Computer Science for Human Studies. Universita' Ca? Foscari di Venezia, Italy. Programming module (C) of the professional training course I.F.T.S. E-commerce, at ISSIS ?M.Minghetti? in Legnago (VR), Italy. Operative systems, Universita' Ca? Foscari di Venezia, Italy.  
Vaide Zuikeviciute DA     Database replication protocols
Paolo Bonzini PF2, SA3 FL Introduction to programming (C), software engineering (but it was really a Java course...) Compilers, embedded systems


This reading group will meet weekly on Mondays from 4pm to 5pm. Each week we will read a section of the textbook and a paper. In the meeting we will discuss the readings, and, where possible, we will conduct a mini-experiment to try out new teaching techniques. Each week one person will present the textbook section, and another person will present the paper. The goal of the presentations is to spark interesting discussions. The person presenting a topic will also conduct the possible mini-experiment. The group will participate (in the role of the students) in the experiment and will then analyze and discuss the outcome. At the end of each meeting we will determine the presenters and the topics for the following week.

Date & Time Reading
March 13 Intro Meeting
  • Introductions
  • Overview of proposed topics
  • Topic selection for first reading
March 20
March 27 Computing Curricula 2001, Computer Science Volume, Final Report
Chapter 5 & Appendix A
Presented by Romain [Slides]
April 3 Computing Curricula 2001, Computer Science Volume, Final Report
Chapters 7, 10 & 11
Presented by Romain
April 10 Teaching Tips - Chapters 1, 2, and 3
Presented by Matthias [Slides]
April 17 Easter Break
April 24 Cancelled
May 1 May 1 Holiday
May 8 Teaching Tips - Chapters 4, 5, and 6
Presented by Jochen [Slides]
May 15 Teaching Tips - Chapters 7 and 8
Presented by Saurabh
May 22 Teaching Tips - Chapters 9 and 10
Presented by Vaide
May 29 Conversational Classroom
Presented by Amer Diwan
June 5 Whitmonday (holiday)
June 12 Classtalk: A Classroom Communication System for Active Learning
Presented by Anna
June 19 Student Culture vs. Group Work in CS
Presented by Cyrus

Proposed Topics

Below is a categorized list of proposed readings. Proposals for new publications or new categories are welcome.


In what context are we educating our students? Why do we do it? What is the framework in which we operate?

Curriculum Design

How do you design a complete curriculum? What belongs in a computer science curriculum? What belongs in a specific course? How does a specific course relate to other courses in the curriculum?

Course Design

How do you design a course? How do you define learning objectives? What goes into a syllabus?

Teaching Techniques

How do you teach most effectively? What forms of teaching, besides holding a lecture, are there? What are the advantages and disadvantages of specific teaching techniques?

Group Work Assessment

How should we evaluate the individual students' performance in group projects? Is self assessment or peer assessment useful? What are the benefits and drawbacks of formative assessment and summative assessment?

Technology in Education

Can technology improve learning? Does technology change how students learn? Does technology change what students learn? How can we use technology to improve learning?

Technology: Simulators as an Educational Tool

In teaching a systems science we have the advantage that we can use (or build) simulations of the systems we try to explain. A simulation (or simulator) allows the observation of the internal workings of a system, something that is impractical or impossible in real world systems.

Technology: Group Response Systems

How do you know your students have understood your explanations? Asking them "Is everything clear?" probably won't be very helpful. Do you have to wait until they turn in their homework or complete an exam? Are there other (more immediate and effective) ways? Do they work in larger classes? Can technology help you in this effort? If yes, how?

Technology: (Web-based) Learning-Management Systems

Chances are you have been using Moodle for your courses at USI. What are the ideas behind Moodle and LMSs in general? What works, and what does not work? What other LMSs are there? How do they relate to e-learning, virtual learning, online learning, and distance learning?

Other Papers


Below you find links to further resources on teaching/learning/education, and in particular on computer science education.




In general, Jossey-Bass seems to publish quite a few relevant books in their Teaching & Learning Leadership series.


Research Networks & Projects

Research Groups

Online Resources

$Date: 2008-01-30 16:29:09 $

Course Information


To get an overview of the broad field of teaching, we will read a textbook in parallel with specific papers.

  1. Introduction
  2. Countdown for Course Preparation
  3. Meeting a Class for the First Time
  4. Reading as Active Learning
  5. Facilitating Discussion: Posing Problems, Listening, Questioning
  6. How to Make Lectures More Effective
  7. Assessing, Testing, and Evaluating: Grading Is Not the Most Important Function
  8. Testing: The Details
  9. Tests from the Students' Perspective
  10. What to Do About Cheating
  11. The ABC's of Assigning Grades
  12. Motivation in the College Classroom
  13. Teaching Culturally Diverse Students
  14. Dealing with Student Problems and Problem Students (There's Almost Always at Least One!)
  15. How to Enhance Learning by Using High-Stakes and Low-Stakes Writing
  16. Active Learning: Cooperative, Collaborative, and Peer Learning
  17. Problem-Based Learning: Teaching with Cases, Simulations, and Games
  18. Technology and Teaching
  19. Teaching Large Classes (You Can Still Get Active Learning!)
  20. Laboratory Instruction: Ensuring an Active Learning Experience
  21. The Teacher's Role in Experiential Learning
  22. Teaching by Distance Education
  23. Teaching Students How to Become More Strategic and Self-Regulated Learners
  24. Teaching Thinking
  25. The Ethics of Teaching and the Teaching of Ethics
  26. Vitality and Growth Throughout Your Teaching Career

Here is a quote from a review of this book:

What do you do when the discussion becomes anemic? Do you ever have trouble keeping your students' attention throughout a long lecture? How does one prepare a new course or revise an old one? Looking for some new ideas concerning testing and evaluation? Is it possible to teach students how to think more critically? Is the University classroom the proper venue to inculcate values? Most importantly, wouldn't it be nice to have at your fingertips a single volume that dealt with such a wide variety of questions? If you have room for only one pedagogical book on your shelf, it ought to be Wilbert McKeachie's Teaching Tips. [...]
Bill McAllister, Graduate Student Associate, Teaching Resource Center, University of Virginia

So here it is. Order your copy now, so you can start reading.

Wilbert J. McKeachie, Marilla Svinicki
McKeachie's Teaching Tips: Strategies, Research And Theory for College And University Teachers, 12th Edition, 2006
Houghton Mifflin
ISBN 0-618-51556-9


For now, this is just a list of terms without definitions.

Active Learning
Case-Based Learning
Classroom Management
Collaborative Learning
Computer-Based Training
Cooperative Learning
Direct Instruction
Discovery Learning
Distance Learning
Educational Technology
Experiental Learning
Formative Assessment
Heterogeneous Grouping
Homogeneous Grouping
Instructional Design
Learning Management System
Learning Styles
Learning Theories
Mobile Learning
Online Learning
Peer Learning
Problem-Based Learning
Problem-Oriented Project Pedagogy
Progressive Inquiry Learning
Spiral Curriculum
Summative Assessment
Team Teaching
Virtual Learning
Web-based Training