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…

Content Knowledge and Professional Growth Overview

Technology coaches demonstrate professional knowledge, skills, and dispositions in content, pedagogical, and technological areas as well as adult learning and leadership and are continuously deepening their knowledge and expertise. Engage in continual learning to deepen content and pedagogical knowledge in technology integration and current and emerging technologies necessary to effectively implement the standards Engage in…

Digital Citizenship Overview

Technology coaches model and promote digital citizenship. Model and promote strategies for achieving equitable access to digital tools and resources and technology-related best practices for all students and teachers Model and facilitate safe, healthy, legal, and ethical uses of digital information and technologies Model and promote diversity, cultural understanding, and global awareness by using digital…

Professional Development and Program Evaluation Overview

Technology coaches conduct needs assessments, develop technology-related professional learning programs, and evaluate the impact on instructional practice and student learning. Conduct needs assessments to inform the content and delivery of technology-related professional learning programs that result in a positive impact on student learning Design, develop, and implement technology- rich professional learning programs that model principles…