Earlier quoted context omitted.
You don't consider paying tens of thousands of dollars as creating responsibility to educate? Of course, students need to be active in the learning process. But in my experience, it is more likely that professors and departments are terrible at educating than it is for students to not be motivated to learn.
> You don't consider paying tens of thousands of dollars as creating responsibility to educate? I get OPs point. It's like getting an english literature degree and you've never read a book on your own. My guess is most people needing the missing semester never coded outside of their assigned tasks. Which is fair enough, but its surprising to me to meet phd candidates who marvel over the missing semester (I've met 2).
The Missing Semester of Your CS Education (2020)
241–250 of 347 posts
Re: The Missing Semester of Your CS Education (2020)
#242Earlier quoted context omitted.
LaTeX? Is this a dual math-cs program?
LaTeX was written by a famous computer scientist to write a computer science book. Yes, mathematicians love it. But computer scientists were first there.
Re: The Missing Semester of Your CS Education (2020)
#243Earlier quoted context omitted.
I have this feeling that the kids who appear better at uni are the ones who happened to pick up certain not-quite-programming skills before they started. Basics of networking, how installation of programs happens, how to use the command line, that kind of thing. I looked over her shoulder as my wife was doing a CS degree, and I realised there's a bunch of these little things that make life a lot easier if you know th…
There's definitely a thing with CS that, at least at more elite schools, there's an assumption that you more or less know how to program--at least a language like Python--and you also more or less know your way around a computer well enough to use it as a tool for programming. (Or you pick it up quickly on the side along with your full course load.) This is more or less unique among college majors outside of some art…
Your point about engineering is exactly right. I built a working radio in my first term, having never done anything like it before, save for acing some physics exams with minimal electricity sections. When we came to coding, I had mucked about a bit with a computer, but I also found other students who'd worked at Microsoft. Wide wide range, and a lot of people of course ended up getting that fellow to email them the solution.
Re: The Missing Semester of Your CS Education (2020)
#244Earlier quoted context omitted.
LaTeX? Is this a dual math-cs program?
LaTeX was written by a famous computer scientist to write a computer science book. Yes, mathematicians love it. But computer scientists were first there.
Re: The Missing Semester of Your CS Education (2020)
#245Earlier quoted context omitted.
I'm not a talented developer but I did spend my day on an F# piece of code that builds a databale based on a record type using reflection (and eventually realized it was going to need to be recursive) and I probably would've just quit if I wasn't allowed to use a debugger. Now maybe if I was better that wouldn't be the case, but even the cleanest "wish i thought of that" functional code i've seen still looks like it'…
> I'm not a talented developer > [uses F#] That has to be humblebragging. The average .net developer is terrified of or doesn't even know about F#.
F# isn't hard, it's just different. Hell in many ways i'd argue it's much much easier once you get used to it. It doesn't have the support C# does so often you're stuck with a library that WILL work but doesn't have documentation for doing it in F#, and that can lead to struggles, but that's not really a sign of being a good coder.
Most dotnet developers could probably code circles around me in F# if they knew it existed/gave it a chance.
Personally I stuck with it because it had the low code look of python with strong typing. It took a bit to wrap my head around some functional stuff (basically map/iter = foreach and if you want to update something on each loop you probably want a fold, or more likely a built in function), but once I got over that hurdle it was pretty smooth sailing.
The irony is that by far the hardest part is the library thing, which your average dotnet dev would handle WAAAAY better than me.
Re: The Missing Semester of Your CS Education (2020)
#246Earlier quoted context omitted.
It's an interesting phenomenon because F# is far easier to learn than C#.
Perhaps if you already know C#, otherwise I doubt it. Of course it depends on ones prior experience, but F# is functional but still requires you to understand OO in order to interact with the framework.
The only reason F# winds up feeling harder isn't so much how F# works, but simply because the entire dotnet environment was built for C# first, so you do need to know how to handle the C# style. I do think that if you could just pick one and then suddenly have every library support it's styles, F# would probably be easier overall because it's just got a lot of nice features built in that make updating your code so much easier.
Re: The Missing Semester of Your CS Education (2020)
#247Earlier quoted context omitted.
> I'm not a talented developer > [uses F#] That has to be humblebragging. The average .net developer is terrified of or doesn't even know about F#.
Is the average .net developer terrified of F# because they're not talented enough, or because it's different?
One major issue I do see coming from the C# side is "well how do I do this then?!", which often the answer is "you don't, because you don't need to" or "well what if it's more performant to do it mutably!" well then thankfully F# can absolutely do that.
If you keep an open mind it's really a very clean and simple language, but in an age where half of development is importing 8 well known libraries, not being the main supported language is a major weakness.
Re: The Missing Semester of Your CS Education (2020)
#248I would add jq to the data wrangling section https://stedolan.github.io/jq/ Being moderately competant at jq on a team that doesn't know jq is a super power.
Any reason why you would use jq over Python? Certainly this can be attributed to my lack of knowledge in jq, but anything beyond a simple query is going to be done with Python for me. Beyond not having to look up query syntax, doing it in Python (or any script) is easier to read (both during and after writing it) due to auto formatting in an editor.
To give an example from another context: This is a bit like asking "why would you use document.querySelector() instead of just looping over childNodes directly?"
Re: The Missing Semester of Your CS Education (2020)
#249Earlier quoted context omitted.
> I have seen devs scoff at the thought of print debugging Next time they do, ask them to recommend a better method of debugging that works across generally all languages, compilers, IDEs, and platforms with next to zero configuration.
The key thing about print debugging for me, that I've never seen a typical debugger handle well, is what I like to think of as "temporal debugging": Taking a program trace from the print debug statements, grepping through it repeatedly to filter down to certain events of interest, looking at the interleaving of those events, and figuring out the order that things happened in to cause it to go off the rails. That sort…
Isn’t that where things like breakpoint conditions, data breakpoints (“break whenever X value/field changes”), and dependent breakpoints, work pretty dang well? You just set up the appropriate situation and let it run until it breaks
Re: The Missing Semester of Your CS Education (2020)
#250Nothing like fighting the software for hours the night before to animate something and, the next day, have my professor show me how it could be done in 15 minutes using a property or tool I didn't know existed.
It was not only assumed but explicitly stated that AfterEffects and, Illustrator, which is commonly used alongside, were too time consuming to teach and we would just have to dive in on our own.
In the interest of saving others from that pain: https://youtube.com/playlist?list=PLjNI3J96cKVKmujglFYJEkHzZ...
A YouTuber (Jake in Motion) made a series of videos demonstrating every effect and tool in AfterEffects. They aren't deep but it's a fantastic resource to get you started.
I just wish this had been around when I needed it. Hats off to MIT for providing the same to others.