One of the most common questions that Computer Science teachers ask is what course or language to teach. We have collected some information in this article to help you make the best decision both for you and your students while considering difficulty, programming language, and other important aspects.
Choosing a Course Based on Difficulty
When looking into courses and topics to teach, it is often important to ask yourself about the complexity and the variety of topics desired in the course for the students you teach. Are you looking for an introductory course with broad topic exposure?
For Middle School, consider our Mix-and-Match course. This course contains twelve 10-hour modules to give students broad exposure to a number of computer science topics, and provides flexibility for implementation. Each module focuses on a particular computer science topic, and the modules can be organized in almost any order or customized to cover only particular topics required by your standards or those of interest to you and your students.
For High School, consider Fundamentals of Cybersecurity! This course gives students the opportunity to explore a diverse array of foundational CS topics through the lens of cybersecurity. The course is an introductory course with real-world relevance, exposing students to networking, system design, ethical computing, programming, and digital forensics.
Are you teaching an introductory coding course?
CodeHS offers many great introductory coding courses. We specifically recommend:
Python Basics with Tracy the Turtle (Middle School)
Introduction to Programming with Karel the Dog (Middle School)
Web Design (Kahlo) (Middle School)
Introduction to Game Design with p5play (Middle School, High School)
Introduction to Python Programming (High School)
Introduction to Computer Science in JavaScript (Corgi) (High School)
Web Design and Development (High School)
Will you need block coding enabled for students?
Do students need advanced topics?
CodeHS offers courses aligned to AP and IB standards, and has other advanced courses:
Choosing a Course Based on Programming Language
It can also be helpful to consider the programming languages that students will learn in relation to other classes in their course sequence or to an application outside of the classroom.
JavaScript
JavaScript is a popular program for building the front-end side of websites and applications. It's a professional programming language that is very versatile. This foundational programming knowledge can be followed by Web Design and Development courses or programming courses in other languages. Check out our JavaScript courses here.
Python
Python is a popular programming language for a variety of applications and for building the backend of websites. It's also great for data analysis and running scripts. Python is a more popular and more common first language in higher ed compared to JavaScript. This knowledge can prepare students for AP CS A, in addition to Data Science and Artificial Intelligence courses. Check out our Python courses here.
Java
Java is a popular programming language that is the language you learn in the AP Computer Science A class. It's also the language you use to build Android apps and many devices in the Internet of Things (IoT). It is also used in financial websites and trading platforms. Check out our Java courses here.
C++
C++ is a popular compiled programming language. It can be used in many web browsers, operating systems, web applications, and games. It can also be used for large-scale development projects for financial or government institutions. Check out our C++ courses here.
Other Topics in Computer Science
Are you looking for physical computing, virtual reality, or materials on creating mobile apps?
Check out our knowledge base about this here!
Are you looking for interdisciplinary courses?
Check out our interdisciplinary offerings here!
Do you need supplementary material?
Our Hour of Code page provides one-hour lessons on a variety of topics. Teachers can utilize these as a way to mix up a course and provide students with exposure to other coding languages and topics. “Hour of Code Fridays” are an example of an end-of-week reward that students can look forward to.
Also, check out our awesome project catalog and tutorials with tons of fun ideas for you and your students!
Choosing a course based on Certifications, Pathways, and Standards
You may also have additional considerations when choosing a course such as certifications, scope and sequence, and state or national standards.
Are you looking for students to take a certification exam at the end of the course?
CodeHS offers 7 industry-relevant programming certifications for high school students. These certifications are a stepping stone for students’ career aspirations and help build programming skill credibility. Read more in our article here!
Are you looking for a full Computer Science Pathway?
It can also be helpful to think of the scope and sequence of Computer Science courses that students will experience. CodeHS offers full pathways for Computer Science in grades K-12!
Do you need specific courses aligned with state or national standards?
More Information
All CodeHS courses can be viewed through the Course Catalog. For more information, please check out our webinar on choosing the right course to teach here.
Still have questions? Contact our team at hello@codehs.com to learn more!