Turning computer science students into software engineers

As part of my Digital Education Leadership master’s program, we are asked to create or modify a learning activity that integrates technology in a meaningful way. My project focuses on group assignments in computer science courses. Often, group assignments do not achieve the goal of giving students a real-world experience of building software with multiple…

Tools for a flipped computer programming classroom

The traditional method for teaching a computer programming course is to have the instructor present language syntax and semantics in a classroom lecture and have the students work on programming exercises as homework.  In a flipped classroom, the students learn about programming language syntax and semantics at home through online lessons and courses and come…

Motivating CS students to test their code

Any software engineer in industry can tell you the importance of software testing in the software development lifecycle.  The quality of the software is ultimately the deciding factor on whether the software is ready to ship. Yet, very little time of a computer science student’s studies involve software testing.  On any one of my programming…

Engaging CS Students in Design

Many group assignments in computer science courses expose students to only a portion of the software development process.  In particular, the first stages in most software development processes are rarely covered. These are the stages in which requirements are gathered, prototypes are built, and the customer is engaged in an iterative design process.  The start…

Students as Knowledge Constructors

In computer science courses, students are asked to form groups to solve a particular problem.   Such group projects give students the opportunity to address real-world issues and problems, allowing students to make meaningful learning exercises for themselves and others.  Such projects turn students into knowledge constructors, asking students to take on an open-ended inquiry using…

Empowered Learner

The International Society for Technology in Education (ISTE) is passionate about the power of technology to transform teaching and learning.  The ISTE Standards provide a framework that allows students and computer science educators (as well as other educators) to create innovative learning environments.  In particular, the ISTE Standard for Students are designed to empower students…