Hacker News new | past | comments | ask | show | jobs | submit login

Students don't study CS for 4 years full-time. They study CS modules for 18 months, some of which are things like chemistry and physics and pretty unrelated to CS (though valuable things to learn generally) and only a part of a day in each. You're not actually going 8,000 hours on CS - nowhere close to it.

If you spent time looking at how much time students spent (in and out of class) on CS and math topics, it's way less than you'd assume.




There is a saturation point for learning. A 1 year program where you spend 20 hours a week studying a subject is not equivalent to a 3 month program where you spend 80 hours a week studying.


That's not what the research shows, given a properly structured learning environment. Research actually shows the losses are much greater due to context switching than to saturation.


You still need spaced repetition for actual retention of the skill. Though it is easier to recover a forgotten well learned skill.

It's also known in layman terms as practice. 9 months of cramming is not good enough. Neither is 4 years of tests without actually using the taught things in practice and laboratory exercises. And preferably also homework.

Source: SuperMemo research, Piotr Woźniak and his citations. No reason why it wouldn't apply to CS or programming.

The amount of information useful requires essentially lifelong interleaved focused learning at least hour a day. You can also maybe pick some things up in a job, but these have stricter limits.


> You still need spaced repetition for actual retention of the skill. Though it is easier to recover a forgotten well learned skill.

This isn’t true. People forget the most advanced skills they learned unless they use them regularly but they don’t forget the ones that are necessary for that last skill. If you ever knew calculus you’ll remember algebra after decades without using it. I haven’t spoken German in most of a decade but I can still read it fine. Spaced repetition is the most efficient way to durably learn something but it’s not necessary.


Do you have any sources for your statement? Especially context switching. Where it is terrible at very short notices (because cohesion is low), it is beneficial for introducing spacing while running maximum allowable workload.

People tend to forget unpracticed skills, not oldest, and most complex parts (least compressible, biggest) first, not necessarily hardest. And the forgetting is exponential, depends on how well the material is presented (cohesion specifically).

Exponentials flatten a whole lot.

You do forget a little still over time. Ask a 40 year old who knew algebra and calculus really well and does not use it often if at all. (I do sometimes, so I don't count.)

Stability and accuracy are also separate variables.

Algebra is not one thing, it's thousands of memory chunks. As a probe, think if you remember Fundamental Theorem of Algebra which is a keystone, but slightly tricky. Compare to whether you can solve ordinary differential equations of second kind, and whether you can solve an equation involving logarithms of rational non-negative numbers. (I picked random not absolute basics from high school, 101 and 202. Bonus points if you spot the stinker.)

--

I always thought of even latest versions of SuperMemo like Antikythera mechanism for learning. It's a great model even if principle is not yet properly researched.


Lifetime maintenance of high school mathematics content.

Harry P Bahrick, Lynda K Hall Journal of experimental psychology: general 120 (1), 20, 1991 An analysis of life span memory identifies those variables that affect losses in recall and recognition of the content of high school algebra and geometry courses. Even in the absence of further rehearsal activities, individuals who take college-level mathematics courses at or above the level of calculus have minimal losses of high school algebra for half a century. Individuals who performed equally well in the high school course but took no college math courses reduce performance to near-chance levels during the same period. In contrast, the best predictors of test performance (eg, Scholastic Aptitude Test scores, grades) have trivial effects on the rate of performance decline. Pedagogical implications for life span maintenance of knowledge are derived and discussed.


Correct, later courses force you to practice earlier skills. This is the mechanism these researchers stumbled upon. Plain spaced repetition explains a lot. SAT is definitely not meant to test performance of learning, though some people with very high SAT scores may be a bit more efficient or know tricks that are not widely taught - SAT is too easy to differentiate them.

Related knowledge strengthens already known things, and once critical maximum stability/retrievability is reached (optimally 7 or so precisely spaced rehearsals) it is pretty much cemented. Without optimal spacing, probably quite a few more repeats. At maximum stability/retrievability the exponential maintains "flat" form for a very long time. A refresher may be needed to get facile again, otherwise it may take a short while to remember and there may be mistakes. Even a trivial refresher will work though, chances to use basic algebra are many.

Principles SuperMemo SM-17 algorithm puts in quantification. Here's a link with all the history and references to some other research: https://www.supermemo.com/en/articles/history

Thanks for the paper, though it's slightly wish washy, but still useful.


I only learned math up to maybe the level of a decent BA student but I feel like when you take a math course you learn how to “do a trick” (pass the exam) and then actually learn the material when you take the next course, where you need to figure out which parts of your last class you apply to “do the trick” in the current class.

So my question is what level of calculus is retained, and if students who take calculus then advanced calculus or introductory analysis or whatever you’d call it retain more.


Spaced repetition does not necessitate spending few hours learning per day. That’s not what the research says at all.


Even one to two hours is enough of an optimal schedule is used. It takes longer time if the material is badly presented or not practiced.


Please show me the research that says there is no saturation point to learning.


The burden of proof is on you for showing that there is one.


That's not how science or epistemology works. The answer to any question is "I don't know" until you have some kind of research backing an answer. There is no default answer that something does or does not exist or is or is not true.


I'm not the one who said "The research shows". The status quo is the 4 year degree. If you think that your 9 month degree is better, the burden of proof is on you to prove that it is.


Looking at the discussion here, i think there might be a problem regarding peoples frame of reference and vocabulary. What you describe applies to the US, in Europe your bachelor degree consists of 180 -240 ECTS (European Credit Transfer and Accumulation System), with 60 ECTS being equivalent to a year of full time study. The 180 / 240 ECTS are almost exclusively from your field of study. Unless you have a very specialized degree, you wont have any chemistry in your CS degree. The only exceptions for non-CS material is what fundamentals you need for your degree, so for example the mathematical background or scientific writing.


That amazes me. What do Europeans think of their counterparts that have studied half as much professional material?


I cant really answer that, as i never had any contact with an US curriculum.

The introduction of the ECTS was however highly controversial at least in Germany. Before the Bologna Process German universities had the "Diplom" taking no less then 4,5 years for CS. The introduction of the bachelor with down to only 180ects, so only 3 years, was seen as cheapening the education severely. Universities generally dont see themselves as preparing you for the job market, but instead provide you with the prerequisites to enable you to contribute novel ideas to your field in form of a doctoral degree. That almost every CS job requires at least a bachelor degree is just an side effect from the point of view of the university. An often mentioned criticism was the government selling out the education system so companies could quicker get new employees. Quantity over quality. As a result, you still find a high percentage of students automatically adding a masters to get the equivalent of a "real degree", with some universities not changing much in the structure of their diplom curriculum, awarding you a bachelors degree after 3 years but expecting you to finish the rest.

There is however also the opposite in the form of an (payed, but badly payed) 3 year apprenticeship training after school. You can become an "IT specialist" without going to university and even without the prerequisite school years to start university (normally successfully finishing grade 13 and thus getting your "Abitur"). You can start the training once you successfully finished your 10th schoolyear and thus getting your "Realschulabschluss". The 3 years are 50/50 professional school and working in a company. Looking at the curriculum of one of the first schools in google, they have in total between 880 and 960 school hours. Depending on your focus, 300-400 hours of "Information and telecommunication systems", 200-300 hours of application development, 200 hours of econ and business processes and ,due to accepting people who finished with 10th grade, 60-100 hours of English lessons. IT specialist here means either becoming a sysadmin or a coder.


Well now I'm curious. What are you assuming that I'd assume?

FWIW, I assume little. I have a degree and know the effort that went into it, and am well versed in how courses are distributed in and out of your major over 4 years of study. I'm not engaging in this discussion to say one is better than the other... I'm saying they are different. Different schools, for different purposes, serving different people.


Fair enough. I'd guess on average 500-800 hours spent actually studying and writing code in CS-related topics & math.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: