top of page


Introduction to Software Engineering

This course aims to introduce students to current software engineering practices being used in industry.  The course will cover Agile “Scrum” software development with an opportunity for students to work in teams of 5-6 members to develop a large scale web app project using Agile Scrum. Students enrolled in this course will be introduced to Full Stack Web developing using MEAN,js  (Javascript-based full stack). The course is organized around in-class lectures & labs, in-class activities, and hands-on projects where students will actively learning what they need to be successful on their project.  Students will be responsible for developing and delivering a software product that works correctly, meets customer’s needs, and is on-time.  Through this process, students will learn how to manage and track their time using project management tools (PivitalTracker) to estimate and revise how long it takes them as individuals and as a team to develop feature(s). Students will also learn how to use repository tools (GitHub) and workflow practices to develop and maintain a shared code base. Students will increase their interpersonal skills in the areas of oral/written communication, conflict resolution, public speaking, and collaboration with their fellow team members, peers, and clients.


Target Audience: All computer science, computer engineering, and digital arts and science majors.


UG/Grad- CEN 3031

Spring 2015 - MWF Period 5, Discussion Sections Period 2-10

Client Sign-Up


Web App Project FAQ


Example Web Apps Developed by Students

Introduction to
Computer Science Education Research

This course aims to introduce students to the field of Computer Science Education Research. The course will cover major issues and findings from Computer Science Education Research and opportunities for future research in Undergraduate and K-12 education. The course will also cover the use of innovative computer science research (e.g., machine learning, data analytics, modeling & simulations, and natural language processing) in the development of technologies and resources for transforming CS teaching. The course is organized around in-class discussions and hands-on projects where students will read journal and conference papers and then identify a problem they would like to explore and design a prototype and study to evaluate the effectiveness of the tool for fostering better CS learning.


Target Audience: This course will benefit students who want to teach computer science, conduct research in a CS classroom/course, or just have an interest in improving the quality of Undergraduate and K-12 CS education.


UG/Grad- CIS 4930 - 1172, CIS 6930 - 12CB

Tuesdays Period 8 & 9, Thursday Period 9

Educational Technologies Ia:
Theories of Learning and Design of Technologies

In this course we will explore learning theories, principles for designing educational technologies, the difference between designing for learning and usability, and how to integrate learning technologies into a learning environment. You will then analyze educational software to identify the learning principles and approaches designed into these tools. Then you will design your own learning tools prototypes to teach your favorite subject, topic, or hobby. Lastly, we will begin designing a plan to integrate these tools into a classroom and discuss the roles activities, students, institutions, teachers play in the successful usage and learning from your tool.


Target Audience: Junior & Senior undergraduate students and graduate students.


CpSC 4810/6810 - Special Topics - Fall 2013

Educational Technologies Ib:
Learning Environment Design and Prototyping

This is a discussion and project-based course focused on an approach to iterative research-based design and prototyping for educational technologies. In this course, you will learn how to design educational technologies that meet the needs of learners and learning activities. To this end, you will be introduced to several hardware prototyping toolkits and challenged to build a prototype for an innovative learning technology.  Throughout this course you will come to understand the various roles that technology can play in fostering learning and the constraints and affordances of different types of learning environments through weekly readings and discussions. You will draw upon this knowledge to begin developing strategies for integrating and using research, experiences, and intuitions to make suggestions about the ways their new technology can be used to support learning and the types of learning environments their technology is well suited.


All students are welcomed as prototyping tools chosen for this course will be selected to support a broad spectrum of programming ability from no programming experience to advanced.


Target Audience: Junior & Senior undergraduate students and graduate students.


CpSC 4810/6810 - Special Topics - Spring 2013

Creative Inquiry: 
Exploring Python Game Programming & Game Development for Teaching K-12 Programming 

This Creative Inquiry is aimed toward engaging computer scientist and education majors in the development and testing of a game design and programming curriculum for middle and high school students. Student enrolled in this project will learn to program using Python and PyGames programming languages. They will also learn to design games and programming curricula.  Last, students in this creative Inquiry will have the opportunity to teach and work with middle and high school students as they test out their games and curricula. The ultimate goal of this project is to design resources that teach introductory computing concepts in a fun and creative way. 


This three semesters project will culminate in the creation of game and creation of resources to teach middle and high school students to program through game design.   We will then test out our games and curriculum with middle and high school students in one week intensive summer camps in Summer 2014 and 2015. 


Educational Technologies II:
Design and Evaluation Techniques and Methods

In this course we will design, refine, and evaluate learning technologies through three field work projects. In the first project, you will propose a learning technology and identify a target population. You will then learn and use observational and interview techniques to collect data in the field with the goal of gaining a better understanding of your user population’s skills, needs, and abilities. In the second project, you will learn about and use participatory design techniques to design your learning technology with actual members of your target user population. In the third project, you will learn and use methods for evaluating learning with your technologies. At the end of the course, each student will have a web portfolio of their work. In addition, graduate students will have a publishable quality paper at the end of the course. Undergraduate students will have a poster.


This course builds upon Educational Technologies I.


CpSC 4810/6810 - Special Topics - Spring 2014

Creative Inquiry:
Soccer for the Visually Impaired System Prototype Design and Evaluation



This course is a creative inquiry research project focused on using virtual spatial audio to help visually impaired soccer players to form a mental representation of the field using their ears while diminishing and eventually eliminating the need to talk. Such a system requires a mechanism capable of distinguishing players, identifying referees,  and tracking the ball in real-time. Each player will wear a sensor that is installed on their headband, and headphones to hear the sounds representing the target objects on the soccer field. Data received from the sensors will be used to create virtual spatial sound cues that are sent to the player’s headphones. 

This project started in August 2013. We currently have 5 undergraduates working on this project. The first semester will focus on system design The second and third semesters will focus on implementation. The fourth semester will focus on deployment and modifications

bottom of page