GitHub & Git in the Classroom
Jordan McCullough, GitHub Training,
GitHub and Git serve as the go-to platform and tool for version control in the software development community. In this hands-on workshop, discover how this toolset of the open source community brings teamwork and efficiency to the classroom. Join Jordan McCullough of the GitHub Training Team for a tour of fundamental Git skills, GitHub collaboration flows, and the significance of social coding.
Participant Requirements: Participants, please see

Teaching Algorithm Design and Intractability:  A Project-Based Curriculum Centered on the Traveling Salesperson Problem
Andrea Lobo, Rowan University
Ganesh Baliga, Rowan University
This workshop presents an award-winning, project-based curriculum for algorithm design that includes techniques for intractable problems. This curriculum is a sequence of laboratory projects comprising increasingly sophisticated solvers for a single intractable problem. The idea for this curriculum and its initial implementation won the Best Paper Award at CCSCNE 2006.
The project-based curriculum was designed for integration into existing, one-term, undergraduate courses, such as Design and Analysis of Algorithms (DAA) or Data Structures and Algorithms. This curriculum has been used in several offerings of the DAA course at the authors’ institution to facilitate the learning of algorithm design techniques for intractable problems without sacrificing traditional course content. The curriculum includes feasible approaches for tackling intractable problems, such as developing approximate or probabilistic algorithms. Approximate algorithms will compute a sub-optimal solution that is guaranteed to be within a factor of the optimal solution. Probabilistic algorithms may only guarantee that a solution will be found with a certain probability. These algorithms can be used to develop software programs that solve some instances of intractable problems.
The National Science Foundation (NSF) is supporting the development and evaluation of multiple versions of the project-based curriculum, and also of tools to facilitate their adoption. NSF is also supporting some aspects of adopter participation. This workshop presents the version of the curriculum that focuses on the Traveling Salesperson Problem. The faculty members attending this workshop receive an annotated bibliography, slides, handouts for student projects, project solutions, multiple project sequences, assessment instruments, and access to a blog for adopters.  
This material is based upon work supported by the National Science Foundation under Grant No. 1140753.

Refactoring Courseware to Engage Undergraduates in Computational Thinking Across Boundaries
S. Monisha Pullmood, The College of New Jersey
Kim Pearson, The College of New Jersey
Diane Bates, The College of New Jersey
There is a growing need to develop courses that demonstrate the articulations between computer science and an array of computing-dependent fields. This hands-on workshop will introduce participants to a model for students and faculty to collaborate across disciplines and with a community organization to develop computational solutions to address complex real-world problems. The strength of this model lies in leveraging existing courses and courseware rather developing new ones. Participants will learn how to develop at their own institutions, similar collaborations that involve computer science, a computing-dependent discipline and a community partner. We will provide access to materials that participants can adapt for their own courses to redesign existing courseware: best practices; pitfalls to be avoided and how to deal with them; instructional materials developed for the courses used in our project; assessment and evaluation instruments developed for the courses used in our project; instructions on adapting the assessment and evaluation instruments for other courses; instructions, documentation, and configuration scripts for using the technology needed for such collaborations. The presenters will share experiences and lead a brainstorming session to design strategies for dealing with challenges and for gaining institutional support for such collaborations. Participants are encouraged to bring their laptops to work on, but this is not required.
Educators interested in engaging their students in deep computational thinking through immersive multidisciplinary collaborative experiences where they are creators of computational solutions, and where they internalize the relevance of classroom learning and the community they live in. 
Boxed lunch will be provided to all participants on the day of the workshop. All participants will also be given access to the project website and materials. We will offer a stipend to a limited number of participants who adopt our model, administer the assessment instruments and provide us with their anonymized data for analysis and inclusion in reports. 
This workshop is funded through NSF Award #1141170.

Preparing for Student Participation in HFOSS Projects - FOSS tools and Techniques
Gregory Hislop, Drexel University
Darci Burdge, Nassau Community College
Lori Postner, Nassau Community College
Heidi Ellis, Western New England University
Student involvement in Humanitarian Free and Open Source Software (HFOSS) projects holds much potential for learning and student motivation. Many faculty members would like to take advantage of this potential and want to know more about FOSS, including its tools and culture. This workshop introduces participants to several common tools for collaboration or control and discusses tool use within a FOSS project.  The discussion will include tools for version control, issue tracking, collaborative editing, and chat-based meetings.  The tool coverage will be at an introductory level, and participants will take away exercises that may be used with students.
Participant Requirements: Participants should bring laptops.

The Finch, A Robot for the CS Classroom
Tom Lauwers, BirdBrain Technologies LLC 
The Finch [1] is a $99 robot for introductory computer science education developed at Carnegie Mellon. Finch, with a full-color LED, light, temperature, obstacle, and accelerometer sensors, allows students to write programs that are richly interactive with the real world. Finch is programmable in over a dozen languages; this workshop will focus on hands-on programming of the Finch in Java, and in the drag-and-drop environment Snap!, which is based on Scratch. 
The workshop is intended for educators at the middle school through college level who teach introductory computer science (CS0, CS1, or CS2). No prior experience with robots is required.
Participant Requirements: Participants will need to bring their own laptop and download FINCH specific software for the workshop.

Re-imaginig CS1/CS2 with Android Using the Sofia Framework
Steven Edwards, Virginia Tech
Anthony Allevato, Virginia Tech
Introductory CS courses are using Android to excite students about their programming assignments, but using the standard Android libraries in CS2 presents numerous challenges and using it in CS1 is nearly impossible.  This workshop introduces participants to Sofia, the Simplified Open Framework for Innovative Android Applications. Sofia abstracts out many advanced concepts normally required for interesting applications, using a unique approach to event handling, binding GUI elements to Java code, and user interaction. This allows students to focus entirely on using Java programming skills to solve problems, instead of writing monotonous glue code typically required to construct Android apps.
Participant Requirements: This is not a hands-on workshop, and laptops are optional. Instead, this is a discussion-oriented workshop driven by live demonstrations of code writing and program execution. Participants are welcome to bring laptops to follow along with the examples presented.

Using Computer Programming to Teach Undergraduates Abstraction and Generalization
James Jerkins, University of North Alabama
Cynthia Stenger, University of North Alabama
Janet Jenkins, University of North Alabama
Jessica Stovall, University of North Alabama
This workshop will immerse participants in an innovative instructional treatment developed by colleagues in a mathematics/computer science department. The design is grounded in a theory of mathematical learning that uses computer programming to induce students to build the mental frameworks needed for mathematical reasoning. This theory has been tested and shown effective in mathematical concept development in numerous research studies spread over several continents. Our team has applied this theory to develop explicit instruction in the mathematical reasoning skills of abstraction and generalization. Participants will leave with lesson materials developed specifically for CS0 and CS1 courses.
Participant Requirements: Participants should bring a laptop with MS
Windows XP or newer, Python 2.5.6 or newer, a modern browser, and a PDF reader and participants should be able to save files to the local hard disk and mount a USB stick.