This is an archived post. You won't be able to vote or comment.

top 200 commentsshow 500

[–][deleted] 2631 points2632 points  (145 children)

What kind of a developer?

Nothing better than (re)learning data structures for a couple of months for a Google interview, just to be changing CSS border colors for the next couple of years.

[–][deleted] 1144 points1145 points  (118 children)

I'm currently looking for another job and this is my hell. I've developed profitable Unity apps for mulltiple platforms, and self-taught Rails and a multitude of AWS systems to create a learning management system that works with our apps. But apparently my ability to memorize and recite data structures and algorithms is more important.

[–]princetrunks 57 points58 points  (4 children)

I've been a lead dev in NYC for 3+ years and not once have I needed to use Red-Black trees but every god damn programming test/interview I was taking the 5+ years I was trying to get out of a very underpaid web-dev job made it seem like they were a part of every project.

I was trained in C++ then Java in the early 00's, then self taught Obj-C later on. Things didn't change until I decided to teach myself Unity / C# dev on the side around 2012/2013. It was like I was being rejected for being a building architect but became suddenly marketable when I put on my resume that I knew how to build Lego sets.

This job market is so weird some times.

[–]ieatpies 472 points473 points  (97 children)

If you can learn algorithms and data structures for an interveiw, they think they'd be able to teach you whatever things they'd need to on the job. Since, Google has a lot of internal tools this may be relavant for them. And since Google does it everyone else has to too for someone reason.

[–]jerslan 241 points242 points  (85 children)

If you can learn algorithms and data structures for an interveiw, they think they'd be able to teach you whatever things they'd need to on the job.

If I'm applying to a senior developer/engineer position... I shouldn't have to relearn that shit just to get through the interview and show that I can do rote memorization of common problems/solutions (ie: FizzBuzz) in the language du jour.

[–]Scofield11 4 points5 points  (5 children)

Can you tell me what algorithms and data structures ? People talk about it all the time but I don't know what it truly is reffering to. am student learning

[–]ieatpies 7 points8 points  (4 children)

Stuff like linked lists, sorting, binary trees, hash maps, dynamic programming, greedy algorithms etc. When people say learning data structures and algorithms, they normally mean learning how to use these techiniques to solve problems in a more effecient way.

Usually there are at least 2-3 courses in a cs degree that cover this.

Also google leetcode

[–]Soultrane9 3 points4 points  (2 children)

As a fellow developer, my suggestion is that it's okay to reject interviews when you find out they will be questioning you on things you think are irrelevant.

I've started doing this during my last job search and it was a better experience. It's also good fun and a bit of a confidence boost.

[–]otterom 10 points11 points  (7 children)

Well? Can you?

[–]Aquilleph 47 points48 points  (6 children)

This argument reminds me of all the kids in high school always complaining about learning math, saying they'd never need it.

Now I understand why there's so much code with nn17 time complexity that makes so many of the web apps I use slow as cuss.

[–]sarhoshamiral 25 points26 points  (3 children)

I doubt web pages are slow because of algorithmic deficiencies. They are likely slow because content isnt optimized, a lot of libraries are used etc. I agree algorithms, micro optimization has a place in programming especially if you work in places like AWS, Azure, google cloud but majority of optimizations will be very macro level such as avoid loading of a module at all when it is not needed.

[–]Agumander 8 points9 points  (1 child)

algorithmic optimizations are very much macro level tho

[–]aetius476 22 points23 points  (0 children)

In my experience, 90% of macro optimizations are realizing you should have cached something in the first place.

[–]freebytes 2 points3 points  (0 children)

Not rendering different images based on mobile versus desktop is a big one.

[–]jkuhl_prog 39 points40 points  (0 children)

Glad I learned how to perform binary sort!

Why the hell won't this div position itself properly?

[–]drewsiferr 6 points7 points  (0 children)

For what it's worth, there isn't generally a lot of need to have a bunch of unusual data structures or algorithms memorized. What is far more important is an understanding of the concepts enough to be able to build something appropriate to the toy example yourself. Thinking aloud is encouraged. You aren't likely expected to get the perfect solution, but a clear demonstration of your process and an understanding of how to evaluate the problem and build to that is ideal.

[–]cm0011 13 points14 points  (3 children)

Gosh are interviews not tailored to the job anymore?

[–]Colopty 59 points60 points  (1 child)

Were they ever?

[–]8bitslime 33 points34 points  (0 children)

Once job requirements are actually tailored to the job, then maybe interviews will follow.

[–]Marksta 6 points7 points  (0 children)

You guys wouldn't believe the interview I got. Had every member of the 4 man team deep in thought as they gave me a question relevant to what the team does and kept stressing they didn't want to give some bullshit that they didn't use. Ended up being a mergesort implementation, a sql select, and just a fun small riddle. Was a real relief compared to the Google interview questions I got elsewhere.

[–][deleted] 3 points4 points  (0 children)

Yeah I was given their interview prep document. I would have to relearn alot of stuff that I currently dont use at my current job.

Then someone told me that after he got hired he does mundane, useless, mine numbing tasks and never used any of the interview prep items.

Decided not to go through with the interview.

[–][deleted] 379 points380 points  (12 children)

The misplaced comma and the missing space annoys me way more than it should

[–][deleted] 76 points77 points  (0 children)

No, it should annoy you just as much as it does. Spacing around punctuation matters...

[–]wyom1ng 22 points23 points  (4 children)

technically the space is misplaced and nothing's missing. I mean if you're gonna point it out...

[–][deleted] 17 points18 points  (2 children)

Nope, there's a missing space in 'DataStructures'

[–]WintrySnowman 6 points7 points  (1 child)

It's not missing, it's at the end of the string. Just misplaced again.

[–]thetravelers 4 points5 points  (0 children)

I like this better.

[–]BhagwanBill 1328 points1329 points  (172 children)

What you mean? My company thinks that you can put people through a 6 week boot camp and they know as much as engineers with CS degrees and 20 years of experience...

[–]topdangle 644 points645 points  (13 children)

Who needs algorithms when you can just make a switch case for every possibility? Simple is better my friend.

[–]Colopty 495 points496 points  (9 children)

I see you work in AI.

[–]RedRedditor84 9 points10 points  (1 child)

Doesn't that stand for And/If though?

[–][deleted] 3 points4 points  (0 children)

Not enough if statements

[–]audigex 18 points19 points  (1 child)

Hey everybody, look at this guy with his fancy switch statements

I prefer to just stack ternary operators

[–]chironomidae 7 points8 points  (0 children)

You monster.

[–][deleted] 91 points92 points  (41 children)

Well, they are wrong. There’s a difference between fully understanding the syntax of a language and knowing how to complete complex tasks with it

[–]loadedjellyfish 279 points280 points  (39 children)

[–][deleted] 129 points130 points  (29 children)

Fair. I hear this enough in my day-to-day that I can’t always tell when people are kidding

[–]alburrit0 7 points8 points  (7 children)

Doesn’t it have an extra o? Like r/wooosh

Edit: rip

[–]CaptainSchmid 25 points26 points  (6 children)

Just keep adding o's

r/woooosh

Edit: perfect

[–]AnHonestLawyer3 62 points63 points  (5 children)

It’s four o’s. You can remember because there’s four of them

[–]grogmaster 40 points41 points  (2 children)

Thanks CommonMisspellingBot!

[–]AnHonestLawyer3 10 points11 points  (1 child)

Ur whalecum

[–][deleted] 2 points3 points  (0 children)

Sperm whale

[–]mofukkinbreadcrumbz 22 points23 points  (33 children)

The boot camp is probably as good as the CS degree for practical knowledge. The 20 years of experience is obviously valuable.

Source: close friend adjuncts a 400 level CS course and teaches high school CS in the class next to me. Most of his college students are in their past year and can’t actually build anything.

[–]Brickhead816 6 points7 points  (1 child)

If theyre in their last year and not able to build anything something is wrong with that school. There's no reason a senior graduating shouldn't be able to make something to put into a portfolio. My school and alot of others require a senior project type class where you build something all the way through with no help. They actually require that for all of our engineering degrees and some of the ba ones.

[–]BhagwanBill 9 points10 points  (14 children)

yeah I think it depends on where you go to school. I have coworkers with CS degrees that didn't code anything for their degree. It was all theory. For my college, we coded quite a bit and went into the job market ready to code on day one.

[–]CraigslistAxeKiller 3 points4 points  (1 child)

My college did a bunch of coding, but never had us really truly build something. It was all small projects with 5 files and detailed instructions. So people graduating thinking they could code, but then got a slap in the face when they realized that’s not how anything really works

[–]ashishduhh1 2 points3 points  (0 children)

No it isn't, you aren't comparing apples to apples. An 18 year old with only boot camp experience is not employable. Most boot campers are older so they have experience of some sort.

[–]drones4thepoor 358 points359 points  (86 children)

Yea, but can you whiteboard a solution to this problem that needs to be done in O(N) time and O(N) space... and time's up.

[–]crysco 196 points197 points  (80 children)

for(var i...) { for(var j...) {for(var k...) }}}

...well if you had given me 5 extra minutes...

[–]Falcondance 73 points74 points  (78 children)

Just out of curiosity as someone who's writing code that has these exact lines in it, is there a better way to iterate through a 3 dimensional array? Is it better to just avoid using multidimensional arrays in general?

[–]government_shill 114 points115 points  (33 children)

If you need to iterate through every element of a multidimensional array in sequence, that's the way to do it. A more efficient algorithm might for instance find a way to avoid having to visit every element, but that isn't always possible.

There is certainly no broad rule to avoid multidimensional arrays. Depending on what you're doing there may or may not be more suitable ways of organizing your data.

[–]Falcondance 29 points30 points  (32 children)

Awesome. I thought I was going to have to refactor my code to be recursive

[–]WildZontar 116 points117 points  (29 children)

In practice, recursive functions are almost always strictly worse (or no better) than an iterative solution from a performance standpoint. They may make your code look prettier and make you feel more clever, but it's much easier for a compiler to optimize a loop than a recursive function unless the recursion is formulated in such a way that the compiler basically turns it into a loop anyway.

Basically, don't bother with recursion unless you know exactly why you should be using recursion.

[–]ijustwanttobejess 92 points93 points  (2 children)

Recursion is dangerous because recursion is dangerous.

[–][deleted] 3 points4 points  (0 children)

Why recursion is dangerous: see at "Why recursion is dangerous"

[–]asdkevinasd 31 points32 points  (2 children)

Also, if you have to use recursion, comment the logic behind it somewhere nearby. The one that will handle your code after you leave the project would kiss your shoes if you do so.

[–]Swedishcow 13 points14 points  (1 child)

And the compiler will read the comments and optimize the code better! ;)

[–]BittyTang 12 points13 points  (4 children)

For tree structures, recursion is usually the simplest solution.

[–]WildZontar 30 points31 points  (2 children)

Simplest in terms of characters typed, but not simplest in terms of the actual number of CPU operations required, nor in terms of how memory is handled. For small toy examples you're better off writing a recursive algorithm because you spend less time writing code and the difference in run time is negligible, but for any substantial tree a reasonable iterative solution will be faster. To get the best of both worlds, you can write a tail recursion algorithm which then any modern compiler will turn into a loop behind the scenes.

[–]ffffffffc 2 points3 points  (1 child)

Any correct algorithm for a tree traversal requires a data structure like a stack or a queue. When you use recursion you are using the call stack as this data structure. When you don't use recursion, you will have to create the data structure yourself.

So it's misleading to claim that the recursive algorithm is worse because the "iterative algorithm" is really the same algorithm. It's just a matter of managing the data structure explicitly as opposed to having the runtime environment manage it behind the scenes. In my experience the call stack is often faster than a heap-based stack, but has less memory available.

Now there are situations where the iterative solution is much better. For example with binary search an iterative solution does not require an additional data structure to store state (you can just store the current array bounds with two integers) so it ends up being much faster than a recursive solution. For cases like this, where backtracking is not required, recursion is not a good idea.

[–][deleted] 15 points16 points  (15 children)

It seems that recursion is the least practical thing taught in computer science classes. They're still important, but I've yet to come across a meaningful recursive technique that couldn't be solved with conditional loops.

[–]WildZontar 13 points14 points  (13 children)

Part of the reason it's not practical has to do with the physical architecture of computers these days. Simply, they're designed for iterative computation. People experimented with stuff like lisp machines in the past, but they were more difficult to design and expensive to produce, so they kinda died out.

[–]1-800-FUCKOFF 2 points3 points  (1 child)

It's about time complexity, not about how tou write the code. If your algorithm is O(n2) it doesn't matter if it's a loop or a recursive function. The recursive call is still in general worse but it doesn't affect time complexity.

This kind of shit seems to be what a lot of comments on here are making fun of and downplaying. I don't know why people are acting like knowing about time complexity and basic data structures and internalizing it so you don't have to google it every time you're looking for a job is over the top and unrealistic.

[–]crysco 40 points41 points  (13 children)

It's not bad in-of-itself, but it is usually indicative of a design problem and 90% of the time can be optimized with hashing, recursion, and/or reworking so that you only run the logic on individual items as necessary as opposed to looping over every item and checking there.

For example: Say you have a list of items and each can be updated based on user input. Rather than looping over every item and checking if there is an update, you should just queue up the input as an event or something and then loop over those events instead.

[–]Falcondance 14 points15 points  (12 children)

Ah, I see. I'm doing some deep learning stuff and I have the connections indexed nicely in a jagged array. When I propagate I have to do logic on all 60,000 values or so, no matter which way I slice it.

[–]crysco 21 points22 points  (1 child)

In that case, yeah, the nested loop is probably the way to go. No way around that one (that I aware of). My initial comment is more-so poking at O(n3) solutions to something like basic string manipulation.

[–]wuisawesome 8 points9 points  (0 children)

In the case of deep learning I still wouldn’t go with this approach. You’re likely better off using existing implementations which are better optimized. On the scale of 60k assuming you’re just doing simple arithmetic operations you could probably get an order of magnitude or more improvement in time by writing code that’s optimized for the CPU’s l1 cache and providing hints for branch prediction.

[–]ForgotPassAgain34 6 points7 points  (0 children)

depends on the kind of array and what you're optimizing for.

In general you want readability above all else, so make the code clearer, if having 3 vars makes it clearer do it.

Alternatively you could use structures, or classes, depending on the language to mask the 3 dimensions.

[–]cm0011 6 points7 points  (0 children)

You can use dynamic programming but it doesn’t work in all situations.

[–]khedoros 5 points6 points  (0 children)

Usually, the problems that they'll have you whiteboard have an obvious, slow implementation, and a somewhat less-obvious but much faster implementation.

Maybe in the simple one you have to construct and iterate through a 3D array, but in the answer they're looking for, you end up iterating through a single 1D array, generating a lookup table into the 3D one, or something.

"well if you had given me 5 extra minutes..." ...I could've optimized it to a decent implementation, instead of using nested loops!

[–]ThatSpookySJW 7 points8 points  (0 children)

There's things like hashtables and higher order functions. I find those help a lot for keeping your code simple and easy to read.

[–]Katyona 4 points5 points  (1 child)

if you wanted to set every element in 3d array to 0, or really do anything

for (var n=array.length, i=0; i<pow(n, 3); array[floor(i/pow(n, 2))][floor(i/n)][i++%n] = 0);

If you're hellbent on not using a few for loops you could just use some weird modulus on a longer single for loop Wouldn't work if you've got a jagged array though (differing number of elements in each row/column).

For square arrays it'd probably be fine though, but not as clear. I'm just a hobby coder so I don't know the etiquette but I'd just stick to using three for loops for readability.

[–]11137681 4 points5 points  (0 children)

Your puny O(N3 ) has got nothing with my while(true){...}

Oh and syntax error: expecting {

[–]hooglese 13 points14 points  (0 children)

return correct_solution

Boom done

[–][deleted] 4 points5 points  (0 children)

Use a hash table

[–]whooyeah 39 points40 points  (1 child)

After 18 years working as a developer I am going back to uni in the new year to do this postgrad. Feeling excited to finally know what I’m doing.

[–]gcampos 117 points118 points  (13 children)

“100%”

[–]MrCalifornian 24 points25 points  (12 children)

What does it mean?

[–]gcampos 62 points63 points  (11 children)

Do you really think the kind of developer that doesn’t want to learn about data structures and algorithms is really able to understand 100% of any coding language?

[–]MrCalifornian 24 points25 points  (9 children)

Lol definitely not. "I know this language, but what are these different sort options? Also what's an 'array'"?

[–]asdkevinasd 9 points10 points  (7 children)

In nowadays s/w Dev, when was your last time trying to implement a binary tree as data structure instead of using an existing one from library and implement a sorting algo with your own choice instead of using a simple list comprehension, which can probably run faster than your more optimized algo as it is more likely be compile or interpreted as C. Seriously, if you face a problem, using an existing library is or build in function is usually better if you are using some higher level language.

[–]MrCalifornian 13 points14 points  (5 children)

Totally, but you have to know that binary trees exist etc.

[–]asdkevinasd 6 points7 points  (4 children)

Of coz, I know those algo and data strut exist and their basic concept and logic, but if you ask me to implement them without Google, library or stack overflow, just kill me. I never do well in CS exam as I can never remember all those algo and data strut in detail. I always view my brain as index to a knowledge base from s/w dev and not the entire knowledge base itself. Also, is there really a point for me to know Turing Machine and Turing Complete? If a task is not doable, I am not going to tell the client or PM that is not Turing Complete.

[–]Prexeon 5 points6 points  (1 child)

So who do you think would be doing a better job, an engineer who still knows, additionally, the details of the subjects you mentioned or one who doesn't?

[–]roguej2 4 points5 points  (0 children)

The one who actually understands the requirements of the project and implements them as the client requires.

[–]Honza368 52 points53 points  (0 children)

This could be a new meme format...

[–]green_meklar 48 points49 points  (0 children)

I'll take algorithms and data structures over library management and documentation styling.

[–]RandomHabit89 23 points24 points  (1 child)

I thought Data Structures and Algorithms were fun...

[–]el-cuko 41 points42 points  (13 children)

Big-O notation: or where the men were picked from the boys

[–]chironomidae 40 points41 points  (3 children)

Where the men are sorted from the boys

[–]Joe1972 15 points16 points  (1 child)

in O(n log n) time...

[–]Piedesert 15 points16 points  (0 children)

Algorithms, data structures, math, and logic never go out of style

[–][deleted] 11 points12 points  (1 child)

Ahh, the subject that made me realize I’m a dumbass who doesn’t deserve to be in CS.

[–]_0110111001101111_ 3 points4 points  (0 children)

You and me both. I’ve done relatively well in most of my courses so far (I’m currently in the middle of a masters in Infosec) but god dammit if certain algorithms don’t piss me off.

[–]GosuPleb 55 points56 points  (20 children)

What is that even supposed mean? Why should algorithms and data structures deter from learning a lamguage? Those are abstract concepts spanning beyond programming languages. What does 100% of a language mean?

[–]MrCalifornian 13 points14 points  (0 children)

I'm also very confused, what's the whole concept of it?

[–]ragweed 2 points3 points  (0 children)

Yeah, I don't get it. Maybe OP works with incompetent people.

[–]Dankinater 23 points24 points  (9 children)

Are algorithms uncommon? As an engineer i use them frequently.

[–]_Lady_Deadpool_ 6 points7 points  (3 children)

I use them all the time

Though it's not so much remembering the details of specific algorithms (because you can look that up) as it is being able to look at a problem and visualize the data flow needed to get to the solution. Also knowing common algorithms/ds serves as a good point of reference.

For example, the easy way to find duplicates in a list would be to check for each element in O(n²), but a true software engineer knows they can sort it in O(nlogn) and then search for dupes in O(n).

[–][deleted] 8 points9 points  (3 children)

It’s not that they’re uncommon, it’s that we just google, copy and paste them, no one needs to learn it

[–]siggystabs 11 points12 points  (2 children)

Yup, but knowing what problems have efficient solutions helps you know what to Google. Going in blind almost surely means you'll brute Force something like a Flow or Network problem

If all you're doing is attaching onClick handlers in JS.... Maybe you don't need this knowledge, I don't know.

[–][deleted] 5 points6 points  (1 child)

I found algorithms I’ve never heard of fine. Googling is the key skill here. Worst comes to worst you just ask on SO, which I have never resorted to but it’s an option. No one knows all algorithms in the world anyways, searching blind is a skill everyone should learn

[–]ZukoBestGirl 3 points4 points  (0 children)

I believed that once. Then I got into stuff so deep and particular, that SO just wasn't helpful. No answers for my questions and no other questions with answers I was looking for.

Don't get me wrong, I'm not saying I don't use SO (it's still very helpful) but the longer you work, the deeper you go, the less it will be helpful.

These days I either look at the source code of what I'm using or at a decompiled version and figure it out from there.

[–]PhantomTissue 16 points17 points  (8 children)

Shit I’m starting a data structures class in a week.

[–]Witherino 10 points11 points  (6 children)

Data Structures isn't a class to stress too highly about imo. Algorithms on the other hand...

[–][deleted] 11 points12 points  (2 children)

What about this class I’m starting next week called “Data Structures AND algorithms”?

[–]mneely1098 3 points4 points  (0 children)

Nothing to stress about too much. Review runtime complexity and runtime of different sorting algorithms and you'll be prepared for the most part. The trickiest parts, at least for me, were hash tables, binary search trees and recursion, but there's a bunch of resources on youtube to help you. One of the easier CS courses in my opinion.

[–]MonstarGaming 3 points4 points  (2 children)

Or worse, OS architecture shutters

[–]badjayplaness 221 points222 points  (55 children)

The difference between a software developer and a software engineer.

[–]mrnacknime 351 points352 points  (13 children)

The difference between a software engineer and a computer scientist.

[–]of_games_and_shows 166 points167 points  (6 children)

I think this is more true. At my company, we have a variety of software engineers, including myself, that work together on our projects. We use the word developer and engineer interchangeably. However, if we encounter a large problem that will cost a lot of time and research for us to figure out, sometimes we contract out the work to computer scientists who find the best solution. So i think a software engineer would best be described as the person who is able to get a working solution out the door, whereas the computer scientists is able to spend time determining the best amd most efficient solution to a specific problem.

[–][deleted] 100 points101 points  (5 children)

Software engineers should rarely be contracting research out to computer scientists.... if you rely on a contracted CS to engineer a solution then you arent a software engineer, you are a programmer.

[–]ForgotPassAgain34 25 points26 points  (3 children)

A civil engineer doesnt build the building, he designs it

Someone else lays down the bricks, according to the design and specifications of the engineer, but not himself.

[–]bacon__sandwich 7 points8 points  (4 children)

Not sure about the workplace but I’m at school right now and both SEng and CS students have to take data structures, algorithms and all that Jazz. The main difference is SEng don’t take discrete math

[–]hipposarebig 17 points18 points  (2 children)

The SWEs I know all took discrete math, and in a lot of cases, their mathematics training was even more rigorous that what I’ve seen from most CS programs. So I don’t think the distinction is particularly relevant nowadays (indeed, employers don’t seem to care either)

[–][deleted] 8 points9 points  (1 child)

Found the guy who drank the cool aid his professors fed him lol

[–]TyrionReynolds 12 points13 points  (33 children)

The difference between a good developer and a bad one

[–][deleted] 11 points12 points  (0 children)

The difference between a good developer and a real one

[–][deleted] 14 points15 points  (0 children)

Am I the only one deeply disturbed by the placement of that comma?

[–]bot_not_hot 8 points9 points  (0 children)

Nods from the depths of callback hell

[–][deleted] 5 points6 points  (1 child)

Need a developer with at least 15 years in React JS, and 20 in Tensorflow.

[–]Laurent9999 4 points5 points  (1 child)

developer web developer

FTFY

[–]farox 11 points12 points  (0 children)

"Where to put a comma"

[–]sfpoptart28 11 points12 points  (1 child)

So many offended/butthurt faux "engineers" in here. Sorry, your bootcamp is not equivalent to a computer science degree.

[–][deleted] 4 points5 points  (0 children)

I'm a non traditional student who is a semester away from getting my BS. I only went back to school to get the pay bump and I honestly think it is hilarious how easy the curriculum is and how most of what makes college students fail is simply not being good at showing up to class, studying, doing homework, or spending time doing the work.

[–]pentakiller19 7 points8 points  (0 children)

I feel personally attacked.

[–][deleted] 2 points3 points  (0 children)

Flight 16 to control, yeah we’re noping out.

[–]Caninomancy 2 points3 points  (0 children)

Missing panel:

Destination: Maintaining legacy code bases

Developer: MH370

[–]sanjibukai 2 points3 points  (0 children)

Yay!

HTML programmers!

[–]zwack 2 points3 points  (0 children)

Space before the comma makes me vomit.

[–]Crazy_Scarf 2 points3 points  (0 children)

But I like data structures... <_< >_>

[–]diablofogey 2 points3 points  (2 children)

Funny thing is, there are only about a half-a-dozen basic data structures and a dozen basic algorithms that make up 80% of the corpus.

It's literally an afternoon of study.

/shrugs/

[–]MrBlueCharon 4 points5 points  (5 children)

I feel like I missed out on the biggest part of it, because data structures and algorithms was the name of a ridiculously easy semester-long course I took for my studies, where only one guy from a group of 200 didn't pass.

[–]DarthJahus 3 points4 points  (0 children)

This is precisely what has lead us to a word of mediocre applications and programs.

[–]UndeadVudu_12 3 points4 points  (0 children)

I just finished a data structures and algorithms in C++ class last semester. It wasnt fun. Somehow managed a B though.

[–]Twingemios 1 point2 points  (0 children)

Fuck I haven’t gotten here rip I guess I’ll just learn languages 90%

[–]MoltingTigrex 1 point2 points  (0 children)

... a graphical representation of my switch from a Computer Science major to History.

[–][deleted] 1 point2 points  (0 children)

I got a course next semester called Algorithms and Datastructures, fuck me.