r/CSEducation • • Oct 11 '20

Why is Computer Science Education So Bad?

414 Upvotes

I just recently started my first year at University. I'm majoring in computer science, and being self-taught I'm already proficient in most of the content.

I'm having no trouble in the class, but sitting in lectures and hearing my professor speak is a genuinely painful experience. The prof is terrible at explaining things, and people in the class who aren't already experienced are having serious trouble understanding the content. Usually I'd chalk this up to me getting unlucky and ending up in the bad comp sci class. However, I'm studying at one of the top universities for comp sci and the problem isn't just at my school. I've read countless stories about comp sci education nightmares, and even my friends who are studying at other universities are having the same thoughts as me.

So, why is computer science education universally so bad? My thoughts are something along the lines of "computer science is still a relatively new field and constantly changing," but with Java being around for almost 25 years you'd think that would be enough time to get a decent curriculum going. On top of that, why is it (in some cases) that learning online via YouTube or something similar gets you a better education?


r/CSEducation • • Jul 01 '25

The impact of AI

Post image
252 Upvotes

r/CSEducation • • Sep 09 '20

I’m Michael Ellison. I grew up experiencing poverty and homelessness, co-founded a $1+ billion company, then started a nonprofit helping underrepresented students land tech careers. I'm doing an AMA tomorrow at 11 AM PT (USA), tune in!

212 Upvotes

Hello!

I'm a former startup founder who left the for-profit world to launch CodePath.org, a non-profit which helps low income and underrepresented college students all around the US land software engineering jobs in tech.

I grew up in a low-income household in rural Maine, didn’t know anyone in tech, and didn’t have access to CS classes. I made it to college and started founding companies at age 19; became one of the only Black YCombinator alums to have a company valued over $1 billion, then started a nonprofit helping develop a sustainable and diverse talent pipeline for the tech industry by offering students free multi-year computer science coursework, mentorship, career prep, technical interview training, and employer networking -- all 100% free of any cost to the student.

I am passionate about CS education and growing the number of underrepresented minorities in tech. Ask me how!

I hope to see you tomorrow at 11:00 AM PT (USA) on r/IAMA!


r/CSEducation • • Mar 24 '20

We are Carnegie Mellon University Students, and we help build CMU CS Academy: a free, online, High School programming curriculum. AMA about remote instruction for Computer Science education!

193 Upvotes

Hi Everyone,

As classrooms transition into remote learning, we believe there is a shift in focus of many aspects of delivering instruction. One of the most important aspects is student engagement. While student engagement is always incredibly important in the classroom, at times where these students are relatively isolated, focusing on creativity, collaboration and interactivity is crucial.

We’ve designed an entirely free program that works well in both synchronous and asynchronous learning settings. In many ways the materials really focus on some of the most important parts of remote instruction. For example, we have an incredibly flexible curriculum that handles most of the technical instruction, allowing for teachers to act as facilitators of their students’ learning . Our content is designed around creativity, problem solving and interactivity while also providing immediate feedback to students with an online IDE and autograder. There is a Teacher Portal full of resources for teachers to monitor student progress, assign collaborative tasks, quizzes and view grades from afar. We also understand that this is a very small window to try to learn a new platform. Our team is always available to provide support through our site and we are running daily open webinars to get you started. Check out our website and sign up for a free teacher account.

Here are some exercises students would code up: Lighthouse, Giraffe, Invaders LiteAnd here are our October 2019 Creative Student Work winners!: Led Zeppelin

We would love to share our knowledge, so Ask Us Anything about CMU CS Academy, remote teaching, learning/teaching CS or anything else! The users from our team answering are /u/uditrana, /u/MrE1729, /u/eec90, and /u/YuuuuSama


r/CSEducation • • Nov 17 '20

I’m a professional software engineer, AMA

176 Upvotes

I’m a senior engineer with about 20 years professional experience. Ask me anything about what I’m seeing in the field, what students do come to us knowing or should be learning.


r/CSEducation • • May 23 '20

🐢 Turtle graphics is an excellent tool in teaching CS concepts. Some recursive algorithms are much easier to implement with turtle graphics. See comment for links.

137 Upvotes

r/CSEducation • • Jan 29 '21

100 Hours of Computer Science Videos-England’s National Computing Curriculum

Thumbnail
i-programmer.info
114 Upvotes

r/CSEducation • • Apr 15 '21

Learning Python with books doesn't work for me, that's why I made a Kikodo, so now you can learn Python by only doing exercises

111 Upvotes

Kikodo is aiming to reduce the difficulties you face when learning to code: dealing with both syntax and concepts is quite overwhelming!
We think you should be seeing as much code as possible while staying active and making decisions. That's why we think it's best to learn Python by doing a bunch of exercises and mini-projects.
And since it happens that we get stuck, we also are working on personalized hints to help you learn from your mistakes!
I really hope this helps beginners who feel like they are being dropped into the deep end of coding.


r/CSEducation • • Aug 09 '26 Diamonds are Forever

I am CS teacher and doctoral student and put my whole curriculum online free: 8 courses, 523 printables, editable unit slide decks, browser IDEs, GitHub Classroom replacement.

101 Upvotes

Over the last 20+ years I have organized all my lessons and resources and finally built what I wish someone had given me, and I've made it free at CS++ ( csplusplus.com )

What's there

Eight full courses, every lesson free, no card:

  • AP CSP, AP CSA, AP Cybersecurity

  • Intro to Java, Intro to Python, Intro to Web Design

  • CS Foundations, a survey course where students pick JavaScript or Python for the coding units

  • HCI Design

74 units total. Real sequenced courses, not link farms.

Also free with any account:

  • Editable slide decks for all 74 units. They're .pptx, so PowerPoint, Keynote, and Slides all open them. Organized by concept rather than by day, with actual teaching guidance in the speaker notes instead of bullets read back to you.

  • 523 print-ready PDFs. A guided-notes packet and one-page overview for every unit, plus worksheets, activity cards, rubrics, graphic organizers, and reference sheets.

  • Browser IDEs. Java, Python, and HTML/CSS/JS with live preview, plus a pseudocode and block editor for CSP. Nothing to install, and student projects sync to their account.

  • A GitHub Classroom replacement. Paste a template repo URL and CS++ provisions a private repo per student in your org. Every push runs the autograder and the score lands in the gradebook. Feedback PRs, protected-file detection so you know who edited your tests, and a bulk-import wizard if you're migrating.

  • LTI 1.3 for Canvas, Schoology, Brightspace, Moodle, and Blackboard, plus Google Classroom, with grade passback.

  • Clever, Google, and Microsoft sign-in, so there's no separate password for you to reset in week two.

  • Unlimited classrooms, an assignment builder, one full mock exam or practice final per course (each with a free-response section), 500+ flashcards on spaced repetition, and every released AP CSA FRQ from 2014 to 2025 with rubric self-grading.

Full disclosure on what is optionally paid:

This is my company, not a nonprofit. Free accounts see one small footer ad. A student can pay $9.99 once, not per year, for all 40 mock exams, unlimited AI tutor, and no ads. A paid classroom ($299/yr, one class of up to 40) adds the teacher-only material: 258 answer keys, editable Word versions of every handout, lockdown proctored exams, AI-assisted FRQ grading, and plagiarism detection.


r/CSEducation • • Nov 20 '20

WiredPanda is an open-source intuitive real-time logic gates simulator in C++

100 Upvotes

Here's a sample circuit in it!

Wired Panda was developed to be used by students of the Federal University of São Paulo in several courses, but could be useful for so much more people!

It is lightweight enough to run flawlessly on a Raspberry Pi 3, implements many logic gates (And, Or, Not, Nand, Nor, Xor, Xnor, Mux, Demux) as well as other concepts such as flip-flops (D, JK, SR and T) and more!

In many ways it's similar to logic.ly, with the exception of being fully free.

Besides the real-time simulation, Wired Panda allows you to export your circuits as an image or a PDF as well as visualizing (and saving) its waveform!

If you want to know more, please access our GitHub repo or our website.

Binaries for Windows are available (in portable packages, no installer or dependencies), for Linux (as AppImages) and for macOS (currently as a simple dynamically-linked binary, thus needing a Qt installation to work)


r/CSEducation • • Mar 18 '21

10+ Year CS Teacher here. What I'm doing and why I'm doing it

94 Upvotes

So, here's what I'm doing and why I'm doing it.

I've been a high school Computer Science teacher for over 10 years (like 11ish but who's counting at this point...)

I have always taught kids in my room but I started teaching an AP Computer Science course in java virtually two years ago. This was all fine and good but I got interested in providing my own a-synchronous resources for my students to make learning virtually more accessible. Fast forward a year and we've convinced my district that if I can make video series for students to learn introduction programming then it will help non-trained teachers offer these courses to students at smaller rural schools where there are less course offerings.

That triggered me getting to produce my Arduino course. Then this year, expedited by the pandemic and the need for virtual resources, I got to build my Python course. Next up is building a full Java course that hits on everything in the AP Computer Science A curriculum.

I know there's a million resources out there and I was doing it for my district and my students, but I figured if I'm going to be doing it anyway, I might as well share it with a broader audience. So, with permission, I "branded" the content and published it all on YouTube. Also, I've been putting my full solution guides, tests, quizzes, escape rooms, etc.. on my Teachers Pay Teachers page.

Anyway, from one CS teacher to a bunch of other CS teachers: I hope it's helpful.

Link to YT Channel: https://www.youtube.com/c/CodeWithConner

Link to my site: https://www.codewithconner.ca/

TPT link: https://www.teacherspayteachers.com/Store/Code-With-Conner

Happy Thursday, may your BTC/GME go to the moon (if that's your thing) :)


r/CSEducation • • Jul 01 '20

Solar system simulation in JavaScript. This is a nice project that can be implemented with kids. (source code in comments)

86 Upvotes

r/CSEducation • • Jun 24 '20

"Ontario's new math curriculum to introduce coding starting in Grade 1" - thoughts?

Thumbnail
cp24.com
85 Upvotes

r/CSEducation • • Oct 16 '20

Why do schools disable developer tools (inspect element) on Chromebooks?

83 Upvotes

Has anyone had this issue? I see no reason why school districts should disable developer tools on Chromebooks. It makes it very difficult for students to work on HTML, CSS, and Javascript projects. All dev tools allows anyone to do is make client-side changes -- it poses no real security risk that I can see.


r/CSEducation • • Jan 27 '20

Students Don’t Need Simple Examples (They need clear ones)

Thumbnail
blog.upperlinecode.com
83 Upvotes

r/CSEducation • • Feb 27 '21

Looking for students for free live computer science classes on twitch

81 Upvotes

Hi. My name is Inbouto and last year I started a twitch channel (not my personal channel) where I would spend a few hours each session with a student to teach them about a given topic, followed by some hands-on practice.

I have a CCNA and am a CCSI. I have worked as a network instructor for about a year, and have given up to CCNP level classes to about 70 clients during that year for close to 1000 hours. The classes I'm looking to give would be likely more centered around networking and systems, though my personal experience and training expands also into programming (Java, Python, C...), including blockchain development (solidity) more recently.

That project i started last year unfortunately stopped when my student had to focus back on school and couldn't join the sessions anymore. I have struggled to find more students since.

I'm looking around to find people who would be interested in taking part in free classes that would be streamed live on Twitch. Those can include more certifying classes, like preparing for a CCNA, or more specific like how a VPN works. I would especially love to give beginner/introductory level classes, as those are the most fun to me.

A few topics I think would be fun to cover would be : How does HTTPS secure your traffic, what to do with a home lab and how to set one up, how to develop on the Ethereum blockchain.
You're free to ask for more if you're interested.

I'm not including the name of the channel on purpose, because I'm not sure about the self-promotion rules on this subreddit. I also don't think what I'm doing here is self-promotion, I'm merely offering free classes.


r/CSEducation • • Sep 19 '20

This is a small collection of programs that you can use to introduce kids to coding using draw with code method (link in the comments)

Post image
78 Upvotes

r/CSEducation • • Aug 13 '20

Educators, do you think CS should be taught early on in school? Why or Why Not?

78 Upvotes

The title says it all. I'm not an educator, but a student. I've been obsessed over technology and how it ticks for as long as I can remember. To clarify, when I say early on, I mean middle school and High school.

I was talking to a friend of mine after class. And he talked about Australia and Holland as well as the UK teaching coding fundamentals and basics. I'm from the US and think we need to implement CS more. And that leading the people into the future starts early on.

What are your thoughts?

Edit sorry for my lateness guys, I just woke up. Thanks for all your insight!

Additional Edit Wow! There's so much insight from the minds of Educators and professionals alike. I'm glad everyone feels as passionate as they are. Hopefully one day our voices will be heard, and taken into count as we move toward the future!


r/CSEducation • • Jan 06 '21

Building this, but not sure how we're going to use it in classrooms yet. Any pedagogical benefits to putting IDEs in 3D space?

75 Upvotes

r/CSEducation • • Mar 09 '21

My project to debug and visualize Python code by using a combination of conventional static analysis tools and the attention based AI model. - Please ask me any questions!

Post image
74 Upvotes

r/CSEducation • • Jun 10 '20

An awesome board by Huriyah Edens, a teacher in New Jersey.

Post image
74 Upvotes

r/CSEducation • • Jan 02 '20

I am looking for people who would like to learn C#

73 Upvotes

This year my friend told me: "Keep on creating awesome projects, but remember that the awesomeness lies mostly in building connections, people and you".

I would love to bring people together for a beautiful common goal- to learn a new programming language- C# (even with 0 xp in programming)

A little background about me: I am a software developer with almost 4 years of professional experience, software craftsman, passionate about what I do and willing to share my passion for others. I have been helping and teaching C# for over a year now (I even have a community for it). I have worked as a part time teacher as well and I think I do a good job at explaining what I know well myself.

Lessons would be live, on Twitch, via shared session of Visual Studio Live Share (and theory part in Stepik course, Google slides, kahoot). Would love if people could work in groups.

I would like to see the amount of people interested, as long as there are at least 2, I will do the lessons.

Hit me up in the comments if you are interested. I will give more details 🙂

Edit: Awesome, enough people for a group. Check back in in 10h for more details, I have my daytime job to do. I will explain in detail the flow, how we communicate and figure out what level each of you are.

Edit #2: What: C# lessons to teach beginners how to code, bootstrap them to have a good understanding of clean code, basic applications (no website development). This is the essence of work in C#.

Possible Topics (draft that is bound to change, be reduced, collapsed): [All work in console project] Chapter 1 Fundamentals of programming:

  1. Introduction (of everything and everyone) What is a variable and how to use it? Print to console. Basic types, how to work in VS.

  2. Functions. Read from console, make custom static functions.

  3. String. Split, join, divide, parse, format.

  4. Maths. Different types for numbers, rounding, root, square.

  5. Logical statements. If and switch

  6. Array and loops. Ways to make array, add elements to the array, iterate array (for, for each, while)

  7. Files. Read and write from file, files processing.

  8. Namespaces. What is a namespaces, how do we make them, using statement?

Chapter 2: Debugging

  1. Breakpoint. How to put a breakpoint and pause execution on it, step in, step out.

  2. Watcher. How to inspect variable values, track them.

  3. Conditional breakpoint. How to pause on condition?

  4. How to go back in time? Stack trace, skipping code, going to previous line.

  5. Intermediate window. How to execute code when debugging is paused?

Chapter 3: OOP

  1. Class and object. What is a class, how to create objects, new classes?

  2. Encapsulation. What and when should be hidden in a class. How do we group data and logic into classes?

  3. Inheritance. When to use inheritance, why does it matter?

  4. Polymorphism. What is it, why is it so important. Refactor if statements.

  5. Abstraction. Why do we need abstraction? Interface.

  6. Reusing code- abstract class

  7. Refactoring code- composition

Chapter 4: C#

  1. Generic collections. How to use list, dictionary?

  2. Custom generics. Make your own generic function or class

  3. Ternary operator. If checks done differently

  4. Extension methods. How to add functions to classes that don't belong to you?

  5. Events. What are events? How to call them how to handle them?

  6. Delegates. Action and Func. Function as an argument.

  7. LINQ. How to process collections in an elegant way?

  8. Enum. Named constants and categories. 9)Globals. When static makes sense and when it mostly doesn't. Constants.

  1. Nugget. How to use 3rd party packages?

  2. Jason. Serialization, deserialization, Newtonsoft.Json.

Chapter 5: Errors

  1. Exception handling. How to handle exceptions?

  2. Custom exceptions. How to create custom exceptions and handle specific?

  3. Throwing

  4. Logging. Logging error best practices.

[Work in console and test proejct] Chapter 6: Testing

  1. xUnit and Tests structure. Arrange, act, assert.

  2. Unit tests

  3. Integration tests

  4. Tests with input

  5. DRY vs Damp

Chapter 7: SOLID

  1. SRP. Single Responsibility Principle in function, class, project, solution and even sentences.

  2. OCP. How to design classes by minimizing changes on existing stuff?

  3. L. How to avoid creating monster classes with fake relations? 4)ISP. Don't change publisher interfaces.

  4. Dip. Depending on abstractions.

[Work in console, class library, Wpf and test projects] Chapter 8: Desktop UI

  1. Simple window in WPF, using designer and Xaml

  2. Data binding. How to sync classes and UI?

  3. MVVM. What is a model, view, viewModel? Make UI dumb.

  4. 2-tier. Split logic from UI.

  5. Refactoring to 2-tier. Split logic from console to class library, reuse that in WPF and Console.

Chapter 9: Database

  1. Basic terms. What is a column, row, table, primary and foreign keys?

  2. Ways to connect to the database. Connection string, SSMS, server object explorer...

  3. Entity Framework Core. How to create a database from models (code first)?

  4. CRUD. Create, update, delete, insert with EF.

  5. Testing EF.

Chapter 10: Async programming

  1. Task. Fire and forget methods

  2. async-await. How to wait for results of a task?

  3. Sync async. How to get task result in sync context?

  4. Async sync. Run sync code asynchronously

  5. Cancellation. How to cancel a task?

Chapter 11: Patterns

  1. Factory.

  2. Builder.

  3. Singleton.

  4. Strategy.

  5. Command

  6. Adapter

  7. Repository

Chapter 12: web services

  1. Types of services. Rest and Soap.

  2. Web API. Where to start making web service in C#?

  3. Endpoints. How routing works, call class lib logic from there.

  4. Postman

  5. Post, get, put, delete. Do CRUD from Web.

  6. IoC. Inversion of Control in startup.

  7. Action filters. Intercept request.

  8. Middleware. Intercept all requests/responses.

Where: Live on Twitch, using VS Live share, Google slides, kahoot, steppik.
When: 9 PM GMT +2, every Sunday and Wednesday
Requirements: Visual Studio 2019 Community edition and a microphone.
Skill: beginner-friendly
Price: free
Discussions: Discord 
https://discord.gg/rCMKcUU
Tag me (Kaisinel)

Edit #3: Please DM me on discord or on Reddit if the interest still stands.

Edit #4: First lesson on January 11th (Saturday), 9PM GMT +2

https://www.timeanddate.com/countdown/generic?iso=20200111T21&p0=660&msg=%E2%85%AD%23+L1%3A+Introduction&font=serif&csz=1#


r/CSEducation • • Apr 16 '21

I built this Codecademy-like website with classroom management to teach my students Python/JavaScript

72 Upvotes

csplayground.io

I have been looking for platform like Codecademy/freecodecamp with classroom management feature for my students. I can't seem to find any so I tried to build one.

I intended this platform to have everything I need in teaching how to code and computer science in general. I not sure if this would be useful to you in your teaching. If so, do let me know how I could improve it!


r/CSEducation • • Dec 17 '22

How I Used the Advent of Code in my Middle School

70 Upvotes

How I Used the Advent of Code in my Middle School

Happy Saturday!

tl;dr

I am a Computer Science / Programming teacher I had my students (age 7 - 17), work on the Advent of Code for the last two weeks before Winter break. It was a huge success! To help them, I made video guides for the first part of each puzzle which provides a strategy for solving them. Links to the videos at the end of this post.

What is the Advent of Code

For those who are not aware, the Advent of Code is an Advent calendar full of small programming puzzles for a variety of skill sets and skill levels.

The puzzles typically start out easy and progress to more challenging / puzzles that require one or more algorithm / data structure trick to solve efficiently. The community is incredibly friendly both sharing solutions and helping people debug their programs.

This makes it a GREAT opportunity to practice, learn, and grow your skill set as a problem solver and programmer.

Teaching Problem Solving Skills to Young Programmers

I teach work at a school where I teach Computer Science / Programming to young people (ages 7 - 17). This year, I decided to have all of my students who have completed an introductory programming course work on these problems before going into our 3 week holiday break.

IT WAS SO MUCH FUN

To help the youngest / newest of my students, I put together "Beginner Guide" videos which are designed to break down the "computational thinking" part of each puzzle without giving away the implementation. In essence, help them develop an approach to the problem. The videos are designed to allow watchers to pause and work on the problems step by step before seeing spoilers / solutions.

Almost all of my students were able to complete Days 1 - 9 in the two weeks we were working on the Advent of Code. Several of them completed all the way through Day 14! It was such a joy to watch them learn, grow, and most of all collaborate with each other while solving the puzzles.

Advice

  • If you have not checked out the Advent of Code yet, you absolutely should!

  • You don't have to finish ALL the puzzles, the goal is to learn, grow, and collaborate

  • If you get stuck, don't be afraid to ask for help!

  • If you're still stuck, don't be afraid to look at a solution. I recommend   looking at a solution NOT in your language and trying to decipher and   translate it to your language. You can learn a ton by reading through   solutions and trying to understand how they work.

  • HAVE FUN!

The Video Guides

Although these guides use C# as the base language, I do my best to break it down into language agnostic instructions. The use of C# was intentional as many of my students are using a different language. This forces them to work through the logic in their language

Here are the guides I have made for Days 1 - 14, which I hope will help you if you get stuck!

Happy Coding!


r/CSEducation • • Apr 02 '21

Can someone help me with this problem.

Post image
69 Upvotes