DEV Community

Ross-Li
Ross-Li

Posted on

Opinion: CS Education Should Include More Code Reading

I was reading through the code for an amazing open source project called BFBAN today. Specifically, I was reading the SQL scripts. There I encountered many familiar SQL stuff, but also many SQL stuff that I didn't know: json data type, ENGINE=InnoDB, COLLATE=utf8mb4_0900_ai_ci, COMMENT, PRIMARY KEY (id) USING BTREE...... As I understood these concepts with the help of Copilot and documentation, I developed a better understanding of MySQL and starting thinking this blog's topic.

My (could be arbitrary) point is: I don't think in today's CS education (in some universities at least), students are reading (or instructors are not assisting students to read) enough good quality code for students to produce good quality code.

If you want to write good articles or essays, you should first read and "digest" quite a few classical books or essays (e.g. Plato's work, Shakespeare's work) to understand word-by-word, sentence-by-sentence, paragraph-to-paragraph how good essays should be written usually with the help from teachers to build up the "vocabularies".

Then how comes when it comes to CS education (especially the software engineering part), students are expected to know how to program properly after only a few semesters' equivalent of "learning the ABCs" without much exposure and understanding of good quality code?

Maybe the instructors could do some live coding sessions just like what software developers would do when they pair-program? Maybe the instructors could pick some entry-level but good quality open source code bases to let the students to write "summary and response" with? Maybe instead of asking "who knows answer to this question", instructors could ask a student to the front and present his/her idea to improve existing sample code? Those are just some random thoughts, but maybe we can draw experiences from how writing was taught (or should I say, "should be taught") in school.

I remember listening to this video Can Great Programmers Be Taught discussing the software engineer education. I remember that one of the argument the present made was that programming can be taught properly by reducing the class capacity, increasing in-class interaction, essentially "tailoring" the education to the audience, subsequently increasing the cost of education (or should I call it individual tutoring at this point) by a large amount. (Just think about how much you are paying for your CS education, then multiply that by a few times).

I do agree that the greatest programmers are self-taught, because programming is a field that just isn't possible to be 100% taught, a field where the practitioner must be willing to "chew through the book like a worm" to build up their programming knowledge. But I still think that good introductory CS education will guide beginners towards the right direction and speed up their progress.

Heroku

This site is built on Heroku

Join the ranks of developers at Salesforce, Airbase, DEV, and more who deploy their mission critical applications on Heroku. Sign up today and launch your first app!

Get Started

Top comments (0)

Qodo Takeover

Introducing Qodo Gen 1.0: Transform Your Workflow with Agentic AI

Rather than just generating snippets, our agents understand your entire project context, can make decisions, use tools, and carry out tasks autonomously.

Read full post

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay