Teacher Resources For Middle School
Participate in the CS Education Community
Playing an active role in the education community supports ongoing learning and exchange of ideas. This is especially helpful in CS education, where the content knowledge changes quickly and many CS teachers are the only CS teacher in their school. Here are a few organizations and resources we recommend.
- WeTeach_CS Blog - Community for CS K-12 educators in Texas
- WeTeach_CS Summit - Annual summer conference for CS K-12 educators in Texas
- CS10K - Community which seeks to have 10,000 well-trained CS teachers in 10,000 High Schools
- Texas Computer Education Association (TCEA) - Membership organization for K-12 educators interested in technology
- Computer Science Teachers Association (CSTA) - Membership organization for K-12 CS educators nationwide
- Choose from the Top Computer Science Educator Blogs
Improve Coding Skills
Strong programming skills are important for CS teachers. Learning new skills and improving on existing skills is an on-going practice. Fortunately, many resources are available to help along the way! Learning block-based languages is typically the first step, followed by learning script languages that have more complex syntax and real-world applications.
The first category of resources is CS teacher PD. The WeTeach_CS calendar lists available Face-to-Face and on-line CS PD events.
Block-based Language Resources
- Alice - Alice 2 allows you to 3D animations while learning computational thinking, problem solving, and computer programming. Alice 3 emphasizes OOO concepts and provides a smooth transition to Java.
- Oracle Academy - Oracle Academy has free, self-paced courses for educators in Alice and Greenfoot (2D game programming).
- Scratch - Scratch allows you to learn programming concepts at no cost by creating projects hands-on and studying projects built by others in the community.
- Snap - Snap is an extension of Scratch with additional features like first class lists, procedures and continuations. These additions make the language a great programming introduction for high school and college students.
Script-based Language Resources
- CodingBat - CodingBat provides bite-size coding practice for Java and Python using strings, arrays, recursion and more.
- Code.org - Code.org has significant resources for learning, especially for the beginning programmer. The Learn section of the web site includes Hour of Code learning segments, Code Studio with longer courses and in-person courses.
- Code Academy - Code Academy provides free, on-line and interactive courses in Java and Python.
- Kahn Academy - Kahn Academy provides free, on-line courses on many subjects including programming and technology.
- EdX - EdX provides free, on-line courses on many subjects from top Universities.
Improve CS Teaching
The CS teaching field offers a wealth of resources and professional development opportunities for beginning and experienced CS educators. Note that Scratch and Code.org, included on the left, also include resources specific to teaching.
- MOOCs from Harvey Mudd College – Harvey Mudd College has three free, on-line courses that can be used inside or outside of the classroom, that cover Scratch and Python.
- Middle Years Computer Science (MyCS) – MyCS is also from Harvey Mudd College. The program provides engaging, accessible, and easy-to-use CS content for middle school teachers.
- Bootstrap World – Bootstrap World provides curriculum and PD for a middle school course that teaches algebra through game development.
- Project Growing Up Thinking Scientifically (GUTS) — Project GUTS is a summer camp and after-school STEM program for middle school students. The program also provides teacher PD about how to embed CS within current classes through the integration of computer modeling and simulation.
Increase Enrollment and Completion
The first step to increasing CS in K-12 is to offer the courses. The next step is to ensure that enrollment and completion of the courses is high. This effort requires the administrators and teachers to work together, along with counselors, parents and the students themselves. This effort is varies at different grade levels (for example, Elementary Schools might have CS Out-Of-School (OOS) programs, but not CS courses), but the ideas apply to all grades. Here are some ideas for increasing enrollment and completion of CS courses:
- CS Measurement - As a school or district, consistently measure enrollment and completion numbers for CS courses. Settling goals and paying attention often make an impact themselves.
- CS Advocate - Have the CS teacher or an administrator play the role of CS advocate for the school, leading PD sessions for teachers, PTA presentations for parents or talks to students about CS in non-CS classes.
- CS OOS Experiences - The Connectory helps teachers, administrators and parents connect students with STEM-based OOS experiences that increase the likelihood of in-school CS.
- CS After School Club - Work with Google's CS First to start a CS club. The program provides lessons and tools to teach students Scratch in a club environment. This can be done before the first CS teacher is hired and can increase interest for the students and the school for in-school CS courses.
- UIL Computer Science Contest - High School individual and team competitions covering a broad range of CS topics.
Women are only 26% and underrepresented minorities are only 18% of the current CS workforce. Women and minorities could be a significant source of CS college graduates needed to meet increasing industry needs. Also, women and minorities could benefit from the stable and high paying CS careers. How can CS in K-12 help? Some experts believe that student experiences in grades 4-8 can have a very significant impact on the student's future. If students have positive CS experiences before High School, they are more likely to choose CS classes in High School and beyond. High School is also important, to provide the bridge between Middle School and college and prepare students for college-level CS work. Here are ideas for increasing K-12 CS diversity:
- Provide Out Of School (OOS) STEM experiences - This strategy is a key part of increasing enrollment and completion for all students. But it is especially important for girls and minorities because the informal and social aspect of these experiences are especially effective. Some OOS CS programs are specifically for girls in K-8, including Girlstart and Ignite CS. GirlsWhoCode and ChickTech provide seven-week summer immersion programs and school-year workshops, respectively, for High School girls. Latinitas provide media and technology experiences for Latina girls. The National Girls Collaborative Project and Globaloaria address CS and girls for all of K-12. Use The Connectory to connect students with OOS CS experiences.
- Active recruiting of girls and minorities - When offering in-school CS courses as well as OOS programs, the school's CS Advocate and/or other teachers and administrators should encourage girls and minorities to participate. Check out these articles about K-12 CS recruiting of girls and minorities for more ideas.
- Parents and CS - Parents are a huge influence in their children's lives and can influence them to get involved (or not) in CS. The school's CS Advocate, other teachers or administrators can make presentations to parents at key events and talk to individual parents, to explain the advantages and opportunities of pursuing CS.
- Counseling and CS - Be sure that school counselors are aware of the benefits of a career in CS and that girls and minorities might need additional encouragement to pursue this option. Counselors for Computing offers information and resources about this topic, including this helpful infosheet.
- Internships, Mentorships and Scholarships - There are internships, mentorships and scholarship opportunities for High School girls and minorities who want to pursue CS in college. The best approach to finding current information is to do Internet searches at least a year before High School graduation.