2
$\begingroup$

Is there any list of concepts re computer science? I'm a uni student with gaps of time in the study due to illness and I want to revise things, but because of reduced course loads and weird ordering due to illness. I'm not sure what I remember or not. And looking for tutors online they only seem to tutor in one thing.

I'm not sure what I should prioritize or what order to revise in - so I know what to work on with a tutor or which area to start? I've done an intro Python course, Java course re bigger project, HCI, linear algebra, Discrete Maths, Multivariate Calculus, Algorithms, Computer Systems course with small amount of C, Stats course, Information Systems (SQL and DB Design, 2nd year one on internals like B+ index and other stuff, Big Data). I've also done 2 specific Bioinformatics courses and Biology-related courses regarding Bioinformatics stuff.

Plus I've gone on websites like HackerRank or codename or CodeCombat or exercise. I know there's edX and Coursera.

Probably the wrong place to ask, but I wish I could have a checklist because the current approach of doing things on websites is not helping me. Oh, when I did these courses I got results in the top 2 grading scale categories, but because of time...

$\endgroup$
3
  • $\begingroup$ Did start out in software engineering but courses overlap. So I want to do something... but I'm feeling overwhelmed. For instance, a parent suggested doing edX R course re because they read that python & R used in bioinformatics but I told them it's not used in comp sci really unless data science then they suggested a stochastic modeling course that uses Python. Python, Java, C, MATLAB, R. Probably my Java and C is rusty... And when I did the Bioinformatics courses which used python I think they were more accessible for people with just a 1 programming course rather than stretching skills. $\endgroup$
    – user9790
    Commented Nov 29, 2020 at 9:24
  • 3
    $\begingroup$ I can't work out the meaning of the word "re` in the question. It does not make any sense to me in this context. $\endgroup$ Commented Dec 6, 2020 at 16:21
  • $\begingroup$ I like this template. Grab any of those for your taste to make fun. en.wikipedia.org/wiki/Template:Computer_science ![List of Computer Science topics](i.sstatic.net/Gl2Tp.png) $\endgroup$
    – danbst
    Commented Dec 7, 2020 at 14:15

4 Answers 4

5
$\begingroup$

Look at the list of courses offered at the undergraduate and master's level at your own university and a couple of others. The course titles should give you a pretty good idea of the range of things.

The list of courses you say you've had may be a bit focused on applications, rather than theory, and on maths rather than CS. I'm not seeing Operating Systems or Compilers and Language Principles, for example.

Any single university's catalogue should be pretty close to covering it, but might miss one or two things. Look at two or three online. Some will even provide a syllabus if you can find the professors that normally teach the courses.

$\endgroup$
2
  • $\begingroup$ Haven't done OS yet because I got sick that semester... And that's part of what I meant by weird ordering... and then that messes up other course order... so you do other courses that you can do and then you get sick again... $\endgroup$
    – user9790
    Commented Nov 29, 2020 at 9:07
  • $\begingroup$ I was doing a theory of computing course but COVID happened... and pulled out.. (Must note the Uni had a information technology, software engineering and science (computer science major) degrees before they introduced a computer science degree and then they introduced a few more specific courses and lot of courses overlapped. $\endgroup$
    – user9790
    Commented Nov 29, 2020 at 9:30
3
$\begingroup$

At degree level it isn't likely you will find a single book or teacher to cover all the material.

I would make a list of the course titles that you have missed then go to the library. You will probably find a section of books for each of your course topics. Usually the course notes will have a recommended textbook.

If you are struggling you could also talk to your course tutor.

$\endgroup$
1
  • $\begingroup$ That's a bit hard to know where to start with ~20 courses... And can't talk to a course tutor because I pulled out due to illness... $\endgroup$
    – user9790
    Commented Nov 29, 2020 at 8:53
1
$\begingroup$

I'd start looking at the ACM curriculum recomendations. They break down what a bachelor's degree should cover, in gread detail.

Yes, it covers some four years of coursework, full time. No, as Euclid is reported to say, there is no royal road.

$\endgroup$
0
0
$\begingroup$

Trying to learn computer science by reading a list of concepts is like trying to learn a language by reading a dictionary. It's not the right tool for the job.

A practical example, I have little to no English skill, so I'll start reading the dictionary.

aardvark - noun
a nocturnal badger-sized burrowing mammal of Africa, with long ears, a tubular snout, and a long extensible tongue, feeding on ants and termites.

Wait, what does "nocturnal" mean?

nocturnal - adjective done, occurring, or active at night.

Wait, what does "occurring" mean?

We're now several levels deep, and yet we still haven't gotten around to understanding what an aardvark is, because we still don't know what "mammal" or "tubular" means, which will requires further expeditions into the dictionary.

A list of CS concepts, much like a dictionary, is a great tool for a targeted lookup, i.e. you're looking for a specific bit of knowledge and you already understand the surrounding context and related concepts.

I'm not sure what I should prioritize or what order to revise in

This is precisely the difficulty with the way you're trying to approach your learning experience.

Probably wrong place to ask, but I wish I could have a checklist, because current approach of doing things on websites is not helping me.

To be honest, this is simply showcasing the value of having a teacher-driven learning experience, and why a wiki can't outright replace a school.

And looking for tutors online they only seem to tutor in one thing.

People who have many skills, and a very specific group of skills that are all relevant to you, are harder to come by. To be fair, most schools don't have one teacher teaching the entire curriculum either.

This generally stops after elementary/primary school, where the level of required knowledge is much greater than what one teacher can feasibly manage.


If you are truly happy with a list, and all of the additional legwork involved in figuring things out for yourself, then you could even refer to resources like Wikipedia.

But if you want to learn more efficiently and without the hard effort that autodidacticism requires, I suggest you focus on either a teacher-driven course, or tutorials on specific topics (whether with an in-person tutor or online tutorials).

$\endgroup$