[ 3 / biz / cgl / ck / diy / fa / ic / jp / lit / sci / vr / vt ] [ index / top / reports ] [ become a patron ] [ status ]
2023-11: Warosu is now out of extended maintenance.

/sci/ - Science & Math


View post   

File: 213 KB, 1497x499, imgonline-com-ua-twotoone-vSvIQ2XFqm (1).jpg [View same] [iqdb] [saucenao] [google]
12695783 No.12695783 [Reply] [Original]

Learn programming from scratch with strong fundamentals. /cspg/ guides and textbook packs coming soon

Topics: CS + SWE + CE + IT (muh A+ certs) + SecOps + Math

Guides:
Complete self taught pathway: https://teachyourselfcs.com/
Structured pathway: https://github.com/ossu/computer-science
AI focused pathway (warning: functional programming ahead): https://learnaifromscratch.github.io/

The first link recommends SICP as an entry, but if you want a gentler introduction to the world of computing, I'd recommend How to Design Programs. Before you complain, read:
http://cs.brown.edu/~sk/Publications/Papers/Published/fffk-htdp-vs-sicp-journal/

Math for CS:
https://stackoverflow.com/questions/14868480/math-for-computer-science
https://4chan-science.fandom.com/wiki/Mathematics

Free books:
https://z-lib.org/
http://gen.lib.rus.ec/
https://spoon.wiki/Books

Not sure if programming is for you? Try:
https://1lib.us/book/11284291/ccb571 (New edition)

This month's study group: SICP chapter 1
New study groups for February 21st confirmed for:
- Structure and Interpretation of Computer Programs (SICP)
- How to Design Programs (HtDP)
- Programming and Programming Languages (PAPL)
- Introduction to Algorithms by CLRS (CLRS)
- Concrete Mathematics: A Foundation for Computer Science by Knuth et al
- Modern Compiler in ML by Appel (potentially)
- Others being considered

Discord: https://discord.gg/S2j9jJJGKM

Remember, you don't need to be a computer scientist to be a good programmer, but it sure does help.

>> No.12695861

>>12695783
>learn programming
>>>/g/dpt

>> No.12696348

>>12695783
>3 high school books and a middle school book

>> No.12696595
File: 1018 KB, 499x374, 1585808226592.gif [View same] [iqdb] [saucenao] [google]
12696595

>>12696348
I wish

>> No.12696612

Bump

>> No.12697214 [DELETED] 
File: 88 KB, 1519x2273, 61bA23zSr5L.jpg [View same] [iqdb] [saucenao] [google]
12697214

Read in 1.5 sittings. Good book. I'd recommend it to anyone, programmer or not

>> No.12697321

Hello anons, do you recommend SICP for the complete cs noob? Or should I do that learn AI from scratch thing first?

>> No.12697353

>>12695783
Unban me and maybe I'll share my SICP solutions.

>> No.12697600

>>12696595
brainlet

>> No.12698024
File: 123 KB, 1271x1079, kurisu pathetic.jpg [View same] [iqdb] [saucenao] [google]
12698024

>>12697353
New thread, who dis?

>> No.12698100

Does anyone know some nice computer science newsletters and publications I could follow? I want to stay on top of the haps, so I thought to look at MIT Technology, but they're so pozzed, it's annoying.

>> No.12698133

>tfw you don't care about Bayesian networks or data analysis but you have to study them

>> No.12698458

>Bayesian networks
Can you tl;dr me on what it is?

>> No.12698473

>>12698100
CACM

>> No.12698479
File: 18 KB, 350x499, probability-theory-the-logic-of-science.jpg [View same] [iqdb] [saucenao] [google]
12698479

>>12698133
You don't even know how lucky you are to be taught Bayesian data analysis at uni.

>> No.12699011

>not at all interested in machine learning
>it's the core of my final year project and other module
fug

>> No.12699151

What about competitive programming ?

>> No.12699192

So I was assigned a grader for a programming class and I'm rather surprised just how many student don't actually run their code before turning it in.

>> No.12699555
File: 234 KB, 700x432, 82D90B05-CE12-4919-AAD0-8508ECF938F9.jpg [View same] [iqdb] [saucenao] [google]
12699555

According to the OSSU spread sheet if I study 30h/a week I can finish the whole curriculum in a year and a half.
If that’s the case why do undergraduate students take 4 years to do so while studying 20 hours in college + more at home ?

>> No.12699561

>>12699555
>undergraduate students study 20 hours in college + more at home
lol no, nice digits

>> No.12699590

>>12699561
>lol no, nice digits
I am confused is it too low ?

>> No.12699596

>>12699590
Way too high

>> No.12699622

>>12699596
4 hours in college plus 3 alone for 5 days ain't that much are you aware of that?
Is life this easy in the us ? We studied more in high school here.

>> No.12699698

Anons add this curriculum too it seems good.
https://functionalcs.github.io/curriculum/
Also can you talk a little about each one I am feeling lost. I want something rigorous and at same time well rounded.

>> No.12700083

>>12699698
it's not amazing as a CS curriculum (way too focused on a single topic, lots of glaring holes for other parts of CS, even theory), but it's great as a way to get into functional programming.
If you're a working professional, just use https://teachyourselfcs.com/ as an intro. For a full academic intro...I'm still working on a full academic self study guide.

>> No.12700165

Why are most CS degrees dumbed down? They're mostly just a watered-down SE degree at some universities (every country has this phenomenon). This dumbing down is even present in some newer editions of CS textbooks such as Ullman's Automata.

>> No.12700188

>>12699151
What about it?

>> No.12700276

>>12700083
Cool, if you post it before the 21st with some time to spare, I'll add it to the guide along with the textbooks it needs

>> No.12700368

https://eaglecrypto.cc/pdf/Eagle.pdf

Apparently P != NP.

>> No.12700384

>>12699555
You can easily learn all of CS in under a year

>> No.12700474

>>12700384
lmao i always love when undergrads make this claim. But when you press them on what they mean by CS, they mean data structures to hit the resume buzzwords and maybe the first 5 chapters of CLRS with an architecture or OS project in the background.

Please give us better algorithms for graph isomorphism and cryptographic models that have the simplicity of random oracles but are actually secure to implement. Please show you can produce a simple closed quasigeodesic on a convex polyhedron in P.
CS is so easy, so you should just solve these problems.

>> No.12700523

>>12699192
CS undergrads are the laziest and most anti-intellectual engineering undergrads. they all are there as high school 2.0 and in CS because they play videogames and CS=money.

>> No.12700564

>>12699555
>>12699555
it looks a little light on the theory and math. all there is for dynamic programming is like 2 weeks in "core algorithms"? not enough

>> No.12700589

>>12700564
the more i look at it the more it makes sense why they estimate it takes 2 years. this looks about to be the education of first 2-3 years of a CS undergrad, minus some math, minus the physics, and minus all the other non-CS courses that a CS major is going to have to take. I don't know how many "advanced" CS courses, which for the most part look pretty basic and are clearly focused on practicality, they expect you to take in their estimate.

>> No.12701112

>>12700083
>If you're a working professional
I am a neet for now but I will be back in 2 years for an electrical and computer engineering bachelor and I wanted to learn CS
>I'm still working on a full academic self study guide.
Thank you for the good work anon

>> No.12701180

check these too anon
https://github.com/the-akira/Computer-Science-Resources
https://www.thepathtolearn.com/computer-science/

>> No.12701288

>>12695783
What's the point of self-study when Coursera and EdX let you learn while gaining evidence of the fact?

>> No.12701319

>>12699555
Because of immensely time wasting projects with little explanation where students have to grind for days

>> No.12701714

>>12701288
Coursera and EdX have literally nothing on computer science that is substantial. It's literally all codemonkey bullshit.
The only coursera course in CS worth a damn is the analytic combinatorics course which was specifically set up by princeton. Other than that, use MIT OCW, Stanford, and Berkeley.

>> No.12701735

>>12697321
AI

>> No.12701738

>>12699555
>OSSU spread shee
>advanced programming is mostly introduction to sophomore level material, with only parallel programming being a proper advanced topic
>advanced systems is literally 3rd-4th semester CS
anon, comp arch is a REQUIRED 200 level CS course that most people take in their second to third semester of CS. It's not an "elective" or "advanced." I'd have believed you if computer organization was OS proper, not just a systems class. It's literally watered down 6.004x on the MIT.
>advanced theory
>using sipser, literal sophomore maturity
this is a bigger problem with CS undergrad, but no, this isn't a proper CS advanced theory class. Try arora-barak, motwani, etc.. Where are the advanced algos texts as well? You have comp. geo and game theory in watered down format, but nothing else for theory? Both are applicable but hardly "core advanced theory."

I could go on, but it'll be the same story over and over. This isn't a good CS program. If anything, it's just a good simulation at the sad state of CS education at a lower-mid tier state school.

>> No.12701746

>>12700083
It's way better than any of retarded reading lists /sci/ recommends usually and it's an old version he does new one from scratch.

>> No.12701759

>>12700523
That was me when I was younger, now I have more scientific aspirations and know that CS isn't just programming.

>> No.12701766

>>12701746
>it's way better
I mean better than a meme list sure, but not better from any reasonable person who knows their shit. Oh wait, we're on /sci/, nevermind.
functionalcs still has some glaring flaws though.

>> No.12702000
File: 54 KB, 406x1024, 1609419711622.jpg [View same] [iqdb] [saucenao] [google]
12702000

>>12695783
I opted out of comp sci in college in favor of cybersec. I'm 25 next month, I just want to do research and develop AI and algorithmic sorting methods for companies in a comfy lab. Is it too late /sci/?

>> No.12702097
File: 532 KB, 602x699, Squid_Girl_Ikamusume_holds_The_Theory_of_Algebraic_Number_Fields_by_Hilbert.png [View same] [iqdb] [saucenao] [google]
12702097

>> No.12702184 [DELETED] 

What's the real world use of things like divide and conquer and sort by insertion etc, I'm currently studying this shit and it doesn't make any since to me? As for the big-o is the same as big o in limit development?

>> No.12702201

What's the real world use of things like divide and conquer and sort by insertion, etc, I'm currently studying this shit in uni and it doesn't make any since to me? As for the big-o is it the same as big o in limit development?

>> No.12702207

>>12697321
Htdp is very basic level, start with that.

>> No.12702224

>>12702184
divide and conquer is a very useful algorithmic technique with endless applications

insertion sort is mostly interesting only for teaching algorithms, generally when sorting you are going to use quicksort because its quick. selection sort has limited applications parallel/distributed systems since you can pass the next largest element to the next process before you finish sorting the entire array. even bubble sort has applications in situations where lists are only out of order by a few swaps. I've heard that there are limited applications of bubble sort in graphics because of this.

>> No.12702264

>>12700384

You can't learn all of CS in a lifetime.

>> No.12702441
File: 149 KB, 800x549, 1391648996726.jpg [View same] [iqdb] [saucenao] [google]
12702441

>>12702201
>What's the real world use of things like divide and conquer
Nigger are you serious?

>> No.12702532

>>12702224
>>12702441
Unironically I find this concepts very weird, something are obvious like divide and conquer, but what I don't get why are they teaching us this? Is cs just about abstract?

>> No.12702546
File: 212 KB, 1002x1004, 20180624021150.jpg [View same] [iqdb] [saucenao] [google]
12702546

>>12702000
>want
NGMI

>> No.12702595

>>12699151
Competitive Programming in Python: 128 Algorithms to Develop Your Coding Skills

>> No.12702794

>>12702595

Makes no sense to use Python for competitive programming.

>>12699151

Read "The Competitive Programmer's Handbook"

>> No.12703154

Thinking of dropping my maths degree for computer science and I want you to validate my decision

>> No.12703175

>>12703154
Computer Science is just math with computers. Don't change majors.

>> No.12703386

>>12695783
Probably a retarded question, but what's the best way to squeeze in programming language practice while studying computer science subjects? Like I'm interested in doing some OSSU courses, but I want to gain experience in C++ as well

>> No.12703415

>>12703154
That depends. How far are you? If you want to do pure math or become a teacher, then I wouldn't recommend switching to CS.

>> No.12703423

>>12703386
When you're getting enough of one subject, try switching to another. Learn additional languages only if you're past half or your curriculum.

>> No.12703458

>>12703154
Are you a brainlet?

>> No.12703485

>>12703175
>Computer Science is just math with computers
I think that would be better than maths without computers
>>12703415
I’ve finished my third year in 2020. If I go down the cs route it will take me two more years and I will graduate with maths/cs.
>>12703458
As I have recently discovered, yes, somewhat.

>> No.12704006

>>12700474
If you know more you could layout topics that are 'real CS' without sperging out. There is plenty of that here.

>> No.12704015

>>12700474
Nobody studies computational geometry dude.

>> No.12704106

>>12704015
>Nobody studies computational geometry dude.
????
you were in the math thread talking about how people don't study combinatorial geometry either? Either way, this claim is ridiculously false given the amount of comp. geo. papers in
>SIGGRAPH
>SIGACT
>SoCG
>STOC
>medical imaging journals

>> No.12704145

>>12704015
kek

>> No.12704149

I'm a alumni, CS major and math/stats minor at a top 15 university in the world for CS ask me anything nerds.

>> No.12704154

>>12700165
I hate this so much. Basically 2 years of uni were wasted on bullshit stuff unrelated to CS.
>Only 4 actual CS classes during first year
>muh well rounded education meme
College is such a scam

>> No.12704162

>>12703154
Do it, math is a meme degree unless you really want to be a professor or cucked teacher

>> No.12704214

>>12704149
Fuck off

>> No.12704263

>>12700165

Because you went to a bad school.

>> No.12704286

>>12698024
Abasement.

>> No.12704303

>>12704015
the fuck are you on about lmao.

>> No.12704499

Ah I missed out on the SICP studygroup it seems like. Any chance of another study group

>> No.12704508

>>12700368
duh, there's an N there, retard.

>> No.12704983
File: 92 KB, 563x750, 1223574426619.jpg [View same] [iqdb] [saucenao] [google]
12704983

>>12704499

We should do CLRS because I need to read it.

>> No.12705680
File: 1.82 MB, 320x240, 1598544419886.gif [View same] [iqdb] [saucenao] [google]
12705680

>>12704286

>> No.12705799

>>12704015
lmfao imagine unironically believing this

>> No.12706388

>>12705799
Who here has studied it other than that one dude who thinks he's Einstein every time he name drops quasigeodesics?

>> No.12706472

ARe we starting CLRS yet? comon

>> No.12706599

>>12706388
>here
Why are you basing the amount of people who study it on the conversation here? We’d be led to believe nobody studies bio, chem, etc. and only study EE, mechE, math, and physics at the sophomore level if we took this board’s conversation topics as actually representative of high impact math/science.
>Einstein quasigeodesics
Lel it’s because it’s an open problem listed on wikipedia. I’m inclined to agree - if it’s easy, solve it. It’s better than the P vs. NP meme threads with muh N = 1

>> No.12706606

>>12706388
>who here
Dumbfuck what does this place have to do with the number of computational geometry papers make it into SIGGRAPH and SIGACT or how many citations / implementations they get?

>> No.12706621

>>12706599
whoever solves P=NP better title their paper just "N =/= 1"

>> No.12706637

>>12706599
>you can't study all of CS in a year because there's open problems in CS
lel

>> No.12706673

>>12706637
No, you can’t study all of computer science (from scratch) in a year because it’s too vast to get any more than a dent in. If you have any decent math background, you can accelerate it, though not into a single year’s worth of material. It’d be more like 2 years if you wanted a proper treatment of algorithms, OS, signals, complexity, compilers, and the appreciable electives like graphics and ML that everyone wants. The converse is true - any decent student will be able to jump into upper div math with 2 years, taking a year to do 2 semester sequences in analysis, algebra, and topology, with appreciable electives in combinatorics, complex analysis, etc.

The story is that if you’re an undergrad in STEM that isn’t bio or chem, you can more than comfortably pick up “the other side” but not as a matter of triviality or in a single year.

>> No.12706858

Thoughts on this open-source CS pathway?
https://github.com/ForrestKnight/open-source-cs

>> No.12706914

>>12706858
this is just OSSU but missing the last half of the courses and with java instead of whatever OSSU uses

>> No.12707360

>>12706858
It’s got the same problems as OSSU. Basically it focuses too much on teaching programming as a subject with the core content in the background rather than having programming be a natural part of the curriculum. You should be able to program up a systems level solution in system. You should be able to write a baby compiler in programming language theory. These courses should not be “programming in systems / different language paradigms” - they should be systems and programming language theory

Also like OSSU, the theory and math are fucking laughable. If you want to become a dev, it suffices, but it’s not a good CS curriculum.

>> No.12707782

>>12707360
So why would you study CS if you don't want to be a dev? To jerk off your cock while fantasizing of your own recursive gnome sort built with rigorous mathamatical thoughtwork?

>> No.12707837

>>12707782
You don’t need CS to become a dev. If you just want to write code to get some tasks done, that doesn’t require CS.
You study CS to learn how to solve problems. To the person who aspires to be a dev who only does tasks with code, this seems extraneous because it takes a great deal of study to learn how to actually solve a problem and not just reproduce some simple method.
>muh sorting with rigor
If the most serious thing you can think for a computer to do is a fancy sort then you’re the idiot here, not me. Imagine telling everyone working in state of the art graphics to stop learning differential geometry because it’s just masturbating,
>guis, I totally learned all of graphics because I read some APIs, wrote some code, and know a bit of linear algebra.

>> No.12707844

>>12707782
Most devwork is fucking monkey work. The jobs in software that are worth a damn all have some element of using actual CS. Think of your scientific computing or cryptography jobs. You don’t need CS to write stupid shit like CRUD apps but you do need it to do work where that doesn’t bore you to death and that isn’t literally just for high schoolers as far as difficulty and fulfillment

>> No.12707848

>>12707782
>why do people study science
please read the title of this board before making anymore posts.

>> No.12708062

>>12695783
>Complete self taught pathway: https://teachyourselfcs.com/
Is this any good? Looks kind of bare bones to be honest. It's basically here's good book read it and here's a good lecture vid watch it. This is kinda pathetic.

>> No.12708084

>>12708062
Felt the same desu...Did anyone here finish it or at least half way through it ?

>> No.12708181

Can’t find sicp anywhere even in b-ok can you please give me a link ?

>> No.12708193

>>12708181
you mean like this? https://mitpress.mit.edu/sites/default/files/sicp/full-text/book/book.html

>> No.12708213
File: 290 KB, 1920x1080, 1598225554756.jpg [View same] [iqdb] [saucenao] [google]
12708213

>>12708181
SICP Resources
Be sure to use the newer, LaTeX formatted version and not the original version
PDF: https://opendocs.github.io/sicp/
HTML5 version: https://sarabander.github.io/sicp/html/index.xhtml
Emacs edition: http://zv.github.io/sicp-in-texinfo
Solutions to problems: http://community.schemewiki.org/?SICP-Solutions

MIT Companion Course: https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-001-structure-and-interpretation-of-computer-programs-spring-2005/index.htm
MOOC RESOURCES: https://people.eecs.berkeley.edu/~bh/61a-pages/

- Lectures playlists:
As recommended by guide: https://www.youtube.com/watch?v=4leZ1Ca4f0g&list=PLhMnuBfGeCDNgVzLPxF9o5UNKG1b-LFY9
Another good series: https://www.youtube.com/watch?v=-J_xL4IGhJA&list=PLE18841CABEA24090

HtDP Resources
HTML5: https://htdp.org/2020-8-1/Book/index.html
MOOC course: https://www.edx.org/course/how-to-code-simple-data
https://www.edx.org/course/how-to-code-complex-data

Software
DrRacket: https://download.racket-lang.org/
Scheme enviornment: https://docs.racket-lang.org/sicp-manual/index.html

>> No.12708378

Anons this seems better than anything presented here.

>> No.12708392

>>12708378
https://github.com/surajrampure/berkeley-cs-courses

>> No.12708574

>>12707837
>>12707360
>>12707782
>muh CS
>i'm better than codemonke
>probably LARPing
It's mostly consists of programming because programming is most general kind of job you can get after CS so it's a safe choice.
If you know something others people don't and want them to appreciate that - sell it to them. Get into details of how and why some field is very fucking cool. Otherwise you obviously don't know shit and just LARPing.

>> No.12708737

>>12708574
>It's mostly consists of programming because programming is most general kind of job you can get after CS so it's a safe choice.
A lot of undergrads take CS in undergrad for this reason. But you don't need a lot of courses to teach you programming. You need a lot of courses to teach you longstanding principles and knowledge that doesn't age, and then use programming assignments to help understand those ideas as well to practice programming. Of course this doesn't teach you how to write professional code - no school or personal project can really do that - because you get internships for that. But what school exceeds at doing is teaching you the fundamentals of how to solve problems. Internships don't do that, and grinding out code problems in the hopes of seeing patterns doesn't really do that either - those help you recognize certain problems.
>Get into details of how and why some field is very fucking cool.
People did that all the time here, especially in the old mathematical CS thread, but here nobody actually entertains it. It's usually met with the following
>>implying CS majors learn this
>>so which interviews use this?
>>stop trying so
>>that material is actually just <X engineering or math>, it's not really CS
>>only larpers care about this
>radio silence
And this isn't even for pure theory, but stuff like graphics and computational biology / bioengineering applications. Most people here are either here to bash on CS or use it as a ticket to a salary more than 50k. I can't magically make them interested by gushing, because all it really does is leave me open to everyone's sneed or to their ambivalence.

I legitimately think /sci/ has swallowed the anti-CS meme so hard that it's nigh impossible to have a conversation about CS that isn't bashing it, defending it from being bashed, or just relegating it to learning codemonkeying. This is evidenced on how few responses the threads about TCS get.

>> No.12708926
File: 160 KB, 447x582, 1590013054148.png [View same] [iqdb] [saucenao] [google]
12708926

There were graduates talking about quantum computing in the other threads on /g/ a little while ago, so there are plenty that still want to discuss theory, it's just the loud vocal minority of pseuds that seethe at the thought of the lowly peasants somehow rising above their social tier in "undeserved" cerebral effort. People can't tell a generalist apart form a specialist and think everything that touches on practical or business logic of any kind immediately invalidates all claim to the league of ivory tower of imagination and thus must be relegated as a trade like a lab monkey, or worst, a lab monkey. Doesn't help that pseuds that don't bother learning why they're wrong can't even define what CS is, constantly mistaking it for SE or apparently EE (how!?)

tldr: Hoes mad. Make dosh, fuck bitches, install Gentoo.

>> No.12709121

>>12708062
if you really want to get into CS you will need to do more but teachyourselfcs has good books for people competely new to CS and is focused on providing a useful education for someone with a software job. you don't want to jump straight into CLRS. books like Algorithm Design Manual provide much gentler intros. If you want to get into theory then you can skip some of the books that aren't math or algos and go to CLRS.

>> No.12709129
File: 28 KB, 378x499, 51GhTMoAspL._SX376_BO1,204,203,200_.jpg [View same] [iqdb] [saucenao] [google]
12709129

>>12695783
>/cspg/ on /sci/
at last, someone can give me a quick review before i dive in?

>> No.12709137
File: 471 KB, 750x750, 1607809197090.jpg [View same] [iqdb] [saucenao] [google]
12709137

>> No.12709162

>>12708574
>>12708737
I'll add the stupid pedantic point:
>jobs in CS
programming is not really a "job in CS." It's more just a happy accident that CS majors are most often the most qualified to get through interviews for software related positions. There are a fuckton of bad CS majors out there, and we meme here that some good EE or math student can pass these interviews much more cleanly - this is *in principle* true. In practice, I've seen it more like a 70% of the best candidates are the top CS majors everyone pretends don't exist - they've gone to good schools or have done their homework. The rest of the 30% is like 15% math, 10% EE or physics, and 5% self taught with many years of experience. This is at least my experience doing interviewing duty before I went back to do grad school for research. As much as engineering students want you to believe they dominate the market in software, this isn't exactly true. They get first interviews pretty reliably but don't pass the final stage nearly as reliably as CS, and to a similar but smaller extent, math students.

A job in CS is research, nontrivial software/hardware work (think cryptography, aircraft software and other realtime systems, etc etc.), etc.

>> No.12709241

>>12708926
sort of, but it was mostly people who didn't know much about what they were talking about and spouting memes. But there were a few people who knew what they were talking about, yeah.
> Doesn't help that pseuds that don't bother learning why they're wrong can't even define what CS is, constantly mistaking it for SE or apparently EE (how!?)
because their experience with CS is usually the following
>watered down math that runs on the work of EE to make the machine do the work
>code principles to get a job
This is only true if your only experience with anything resemble "CS" is MATLAB as a calculator or learning how2code to get into an interview. These people see Sipser or the first chapter of concrete math, both books made to be started by high schoolers to take them to sophomore / junior level mathematical maturity, and think this is all CS is.

Yes, CS has a problem with undergrad, but it should be abundantly clear that it sticks around in serious applications and serious theory because it's, well, serious and nontrivial.

>> No.12709253

>>12697600
You are a retard

>> No.12709281

>>12709241
> watered down math
> code principles to get a job
Can you start posting actual college curriculum that fit your criterion of "watered down"? All accredited universities must have a similar structure, and for CS degrees, they must have at least calculus 2, discrete math, and usually linear algebra (although I think it's mandatory for all universities, I could be wrong). Generally, they encourage students to take more math as extracurricular. For theory, algorithms are obviously mandatory, as is architecture. All this is the bare minimum, although most universities require you to take OS, some physics, and would suggest some software engineering.

Again, post syllabuses or university curriculums that differentiate between a "good" university and a "watered down" one, because the only thing I can think of that might be the case are bad professors, and unaccredited or dishonest colleges they pray on unaware students

>> No.12709328

>>12709281
Dude, I've seen you in multiple CS threads in the past year. I know what this conversation is going to entail. I can post as many universities as I want, and the answer will be the following
>X is not a good program
>I did X
>X is too pedantic to have in CS program. It's already hard enough
We've danced this dance before. I like CS. I think is good. I think it could be better after seeing how so many students do the bare minimum, and my program *was* a top 30 school.

Also, accreditation, especially ABET, for CS fucking sucks. If you look at the ABET standards for CS, they're incredibly bare bones and barely go over the basics. There's a reason why people use Berkeley, MIT, Stanford, CMU, UT, UChicago, UWisc-Mad, and a few other programs, with Berkeley and a few others literally dropping ABET to give better curricula.

>> No.12709341

>>12709328
>here's a reason why people use Berkeley, MIT, Stanford, CMU, UT, UChicago, UWisc-Mad, and a few other programs, with Berkeley and a few others literally dropping ABET to give better curricula.
meant to say why people use these programs and their course notes, webpages, resources, etc. when self studying or even studying in their own CS program (for example, while I loved my advanced algos teacher, I don't think he quite explained the material as well as Erik Demaine did in his MIT courses).
The reason I'm shutting this down now is because it's gonna turn into us talking for 100+ posts with stupid back and forth. I know your answer is going to be "Oh, so you could find programs then huh?" Yes, I have. I've done it multiple times. I'm not going to waste the work on you again. Begone interloper.

>> No.12709360

>>12709328
>>12709341
Nope, I don't bother replying to your kind because you never give an actual answer. Just like these posts. Also accreditation is a legal requirement to have degree programs and to be legally known as a university. Also also
> "Oh, so you could find programs then huh?"
Well?

>> No.12709377

>>12705680
FUCK YOU BUNK

>> No.12709401

>>12709129
not CS, ask /g/ but none of them will have ever read this either so just look elsewhere for reviews.

>> No.12709413

>>12709328
>>12709341
> ABET
> A programmatic (read: trade) curriculum
> muh strawman

>> No.12710195
File: 35 KB, 474x664, 26090656-0AFC-4F57-BAC2-1CCDA30F7C2B.jpg [View same] [iqdb] [saucenao] [google]
12710195

>>12709360
>Nope, I don't bother replying to your kind.
You just replied

>> No.12711480
File: 4 KB, 224x219, 1600666320646s.jpg [View same] [iqdb] [saucenao] [google]
12711480

>> No.12711505

Suppose I have a weighted graph which is connected and cyclic, but does not contain any negative weight edges.
I want to find the smallest set of routes through the graph, where each route has a maximum length.
Does this problem have a name?
Is it NP hard?

>> No.12711513

>>12702794
why not anon?
If it's a race to see who solves the problem first (which is what ICPC does, and just about every university level programming contest), python should be fine.
If the only thing that matters is execution speed, then yikes. That's competitive optimization and happening to choose the language that's fastest.

>> No.12711520

>>12702532
smallers problems can be easier to solve than larger ones anon
sometimes a problem is easier if you split it into two smaller problems

>> No.12711589

>>12696348
>high school
are you retarded?

>> No.12711636

>>12711589
Algorithms, computation, and discrete math are high school level.

>> No.12711650

>>12709253
Just because you, your class mates, and other cs grad students struggle with induction doesn't make it hard.

>> No.12711767

>>12711650
>cs grad students struggle with induction
>implying basic bitch induction is the height of mathematical tool for algorithm analysis
when will this meme die
this is what comes out of CS departments:
https://arxiv.org/abs/1901.06731
why does this site constantly meme CS grads and even PhD's to be codemonkeys

>> No.12712095

>>12711636
You mean you only need high school knowledge or you did them while you was in highschool ?

>> No.12712104

>>12711513

Not familiar with IRL contents but online sites are graded according to execution speed AFAIK. At any rate C++ is the de facto standard.

>> No.12712590

>>12711767
see >>12639599

>> No.12712601

>>12712590
> bros, I have a 2.0 GPA, it's obvious that CS is trash that doesn't teach you anything

>> No.12712609

>>12711767
It's more of a applied math to be honest.
I think confusion with the term CS comes from it being ill defined, just describe topic and that's it. Who the hell cares about it's classification.

>> No.12712614

>>12701319
so, like real work.

>> No.12712725

>>12711767
>why does this site constantly meme CS grads and even PhD's to be codemonkeys
Bruh, this site is full of self-loathing people who have no job and have nothing to do for the whole day. Of course they would meme other people if that'd make them feel better about themselves.

>> No.12712870

>>12712609
I mean, a good amount of CS theory literature is pure math. Results relating to expanders, the word problem, computability, infinite games, etc. are all pure.
I think what makes CS interesting is that it’s this middle ground where everything “feels” very pure even when it’s an applied problem. I hope this sort of relationship becomes more publicly known
>inb4 some mediocre math undergrad takes offense to this because CS is just code to him
Daily reminder that computer scientists have started to take the bounties for pure math problems. From Kadison-Singer to Connes Embedding Conjecture, I expect more and more computer scientists to snag the big results in pure math. Though, this is implying there’s any difference in abilities between any decent theoretical computer scientist and a mathematician - if we’re talking about gödel prize winners, then no there really isn’t.

>> No.12712887

>>12712725
Also you’ll notice that it’s easy to hate CS as brainlet shit when a lotta programs have barebones requirements, and when the PR for CS is you tubers talking about learn2code in their CS degree.
Meanwhile despite all the jokes, engineering has the image of being productive and high impact.

No matter how much high impact CS research is out there, with applications that go beyond a computer, etc etc., CS will never be anything other than typing at a terminal for these people. At this point, I don’t know if it’s just a meme or deep cope.

>> No.12712905

>Learn programming from scratch with strong fundamentals
I'm about to start the /cspg/ pill, do I actually start with SICP? Or do I learn the theory first before actual programming? My university just throws us onto C++ and makes us swim or drown from there.

>> No.12712944

OSSU or teachyourselfcs? Both look nice but use different books...

>> No.12712964

>>12712905
SICP is a good start to learning computational thinking and getting a good introduction to a lot of important things in undergrad CS.
You might want to supplement by learning another language if you want to learn programming as well.
>Or do I learn the theory first before actual programming?
Intro CS should be taught *using* programming, but it shouldn't about teaching you how to program. If you're doing it right, the programming comes naturally. As for theory, while I would like a theoretically charged introduction to CS, it's such a departure in the conventional way of thinking that most people tend to fail if you introduce theory too thick too early, and no this isn't just muh CS majors.

I think SICP does a great job at pacing you through enough theory while keeping it all readable. You'll have a lot of opportunity to hone your theory after intro CS.
>>12712944
teachyourselfcs is better simply because it acts like a jumping point to getting acquainted with each of the subjects. It gives. a good book for each and explains why they're good. OSSU is just painfully lacking and ends up being super redundant because it's all made up of real courses that were watered down for the coursera/EdX treatment.

At OSSU, they have you do OS and systems before computer architecture and digital logic, when at any decent program, you do architecture and then build on top with systems and OS. Half of the design decisions in OS make no sense when you don't understand architecture.

>> No.12712969

mathfag here. Tell me an interesting fact in computer science.

>> No.12712976

>>12712964
>SICP is a good start to learning computational thinking and getting a good introduction to a lot of important things in undergrad CS.
>You might want to supplement by learning another language if you want to learn programming as well.
Ohh, so it's like learning how the body works before actually 'moving' in them? I guess I'll pick up that C++ bjarne book or something and read the both of them together, thank you!

>> No.12712987

>>12712969
Contractibility of a 4-manifold is undecidable via Markov's algorithm from the late 1950s.
>>12712976
ehh, I'm not fond of Bjarne's book. I'd actually suggest doing SICP and then picking up some well regarded book for a language like python. Whatever you do, I'd avoid using an object oriented language as your first "learning language" since it instills bad habits and misconceptions about programming. Something simple like python is fine. If you want to do things with less abstraction, C is fine, though I'd wait until architecture to use C as there are a rich number of projects you can do in that setting naturally with C.

>> No.12712994

>>12712987
>Whatever you do, I'd avoid using an object oriented language as your first "learning language" since it instills bad habits and misconceptions about programming.
Good thing I barely learned anything in my C++ class and barely got by... I doubt I have any programming languages when I don't even remember how to do hello world heh...
Thank you for your advice anon, is there any book you'd recommend for Python then? I see that the OP recommends "Introduction to Computation and Programming Using Python".
>though I'd wait until architecture to use C as there are a rich number of projects you can do in that setting naturally with C.
Architecture as in "Computer Architecture" where the suggested text is "Computer Systems: A Programmer's Perspective"? I'm getting kinda excited for computer science again, my intro to cs class where it threw c++ at us along with a horrible professor kind of killed my interest in this subject until now.

>> No.12713000

>>12712987
>4-manifold
What the fuck is a 4-manifold in computer science? How do you encode it?

>> No.12713064

>>12713000
>What the fuck is a 4-manifold in computer science?
The same thing a 4-manifold is anywhere else. Though I see your concern - so far the results are on spaces like finite simplicial complexes.
https://math.berkeley.edu/~hutching/teach/215b-2005/andrews.ps
The above gives very abbreviated proofs for the results.
Here's a decent survey:
https://pagesperso.g-scop.grenoble-inp.fr/~lazarusf/Enseignement/compuTopo7.pdf

Computational topology is a hot subject and new results come out in waves.

>> No.12713235

>>12712104
yeah, that's basically leetcode.
imo a good contest should be based on speed to solve the problem, rather than execution speed, but also the problems should be sufficiently large and contain all the worst/edge cases so you can't just brute force it.

also, that reminds me
>university level qualifier for ICPC
>don't realize until I get there that you're meant to be a in a team of 3
>enter by myself and win anyway
pajeets btfo
one of the indians brought in a 300 page printout of what appeared to be every single algorithm.

>> No.12713264

>>12700384
Why is it that most boards are filled with teenagers with endless hubris thinking they know everything? This is the most high school/freshman post I've seen in a while.

>> No.12713471

>>12713235
> Enter alone on ICPC
Is that even allowed?

>> No.12713745

>>12702000
shouldnt cybersec be a subset/specialization of compsci? I've only heard of cybersec as a master's specialization.

>I just want to do research and develop AI and algorithmic sorting methods for companies in a comfy lab. Is it too late /sci/?
I had academic ambition, but after being disillusioned by academia, I just went to work after my master's degree. I'd say if I could do it again, I'd double major in math and compsci with a 4.0 as early as possible in my life. At least at my uni, they only hire the best. Then either specialize in AI with a master's. Why? because CS gives you the fundamentals of programming, So you dont become one of those retarded mathfags who write horrendous programs. Math is needed for proofs and analytical ability. It will come in handy when pursing higher degree and working on papers. If a double major is too much, consider minoring in math and/or adding AI courses.

>comfy lab
there is no "lab" and there is no comfiness in academia. It's ruthless.

>> No.12713763

>>12703386
Learning C++ is a beast in itself. You'll double your cognitive load that way. I think C# is fairly easy to learn and typesafe. Overall its a comfy language. When you know CS basics, then you can dive into languages like C++ imo0. Some unis use C/C++ as their first language, but the students are learning full time and have professors so they have that privilege.

>> No.12713811

>>12713264
You can learn CS in under a year. It's been done before.

>> No.12713817

>>12713763
C++ is no harder to learn than any other language.

>> No.12713827

>>12713817
I wish troll/shitposters like you were just banned. How boring of you.

>> No.12713833

>>12713811
oh, you're going to link to that guy who "learned" all of CS using the MIT OCW where he "passed all the exam material under the honor system," did the literal barebones, and aimed for like a 70-80 on the homework "on the honor system" right?
Would you believe a similar story if someone claimed they did this for math? Claimed they really internalized the curriculum for analysis, topology, algebra, and number theory with a year's worth of material that they "did on the honor system" and exams they "passed on the honor system?"

Why is it so hard to realize that articles and feeds like that are literally clickbait from the learn2code and the "I hate university" crowd?

>> No.12714063

>>12713827
It's not hard to learn programming IN C++. CS majors who want to copy, paste, rename, and reorder their HW find it hard because it's very obviously that's what they're doing due to the number of approaches/styles there are to problems.

>inB4 but you don't know all OF C++
and you don't know all of English

>> No.12714500

>>12713471
Was a national (not run by ICPC) qualifier to get into the nats. For my actual ICPC entry that year, I dragged along a couple of my first year friends who I thought would benefit from the experience.
It was fun, and we took home all the food afterwards because the other entrants were too modest to take it.
One of the pizza boxes was too long to fit in the car, so we had cut it in half.

>> No.12714534
File: 35 KB, 348x499, 512cqyF6SXL._SX346_BO1,204,203,200_.jpg [View same] [iqdb] [saucenao] [google]
12714534

>>12695783
Is Haskell really the best programming language to learn in 2021?

>> No.12714573

>>12712905
programming is easier than theory and programming should come before theory.

>> No.12714910

>>12714500
kys normie scum

>> No.12715448

I daydream about automating every task

>> No.12715797
File: 311 KB, 628x316, TeAE of Chei.png [View same] [iqdb] [saucenao] [google]
12715797

Groups and guide soon. See you all on the 21st (realistically, 22nd)

>> No.12715931

>>12715448
could you automate automating?

>> No.12716179

>>12715797
Better give a good guide

>> No.12716369
File: 260 KB, 1200x934, realsci.jpg [View same] [iqdb] [saucenao] [google]
12716369

>>12695783
>be a good programmer
This is all /g/ and has nothing to do with /sci/
In /sci/ computer science means theoretical CS not computers, that is tech ie: /g/

The only book that should be here is The Nature of Computation, sage this thread it is /g/ tier cringe

>> No.12716414
File: 11 KB, 311x315, lainsmug.jpg [View same] [iqdb] [saucenao] [google]
12716414

>>12716369
Yes, I remember learning Java, webdev, and using git by reading SICP. CLRS sure helped me with my CRUD applications using Access as the backend. So how's your first year going, pseud?

>> No.12716425

>>12714534
if you are familiar with an imperative language on the side too, Haskell is a great choice. You may want to try out logic programming before (prolog for example) for the fun of it

>> No.12716633

>>12716414
>butthurt brainlet refuses to accept the books he struggled with aren't hard and aimed at highschoolers.

>> No.12717087

Why do people pretend they actually read TAOCP and they didn't just buy it for the memes?

>> No.12717158

>>12717087
Signaling. Same with people who code in emac/vim.

>> No.12717317

>>12716369
lots of applied parts of CS belong on /sci/ as they touch theory, science, and engineering as well. Key example is graphics processing and visualization, which is essentially methods in differential geometry..

>> No.12717325

>>12717087
>>12717158
if you've read TAOCP and successfully done many of the exercises, you're casually good at analysis around the Rudin level at the very least and can do combinatorics at the Stanley level.
Most people who have claimed to do TAOCP don't know these subjects or authors at all. It is signalling - you'll be able to tell who's actually read it in a heartbeat, and which volumes they've read. I've only read a good portion of the seminumerical algorithms on generating pseudorandom numbers and distributions. It's really good but definitely not for everyone.

>> No.12717530

Mathfag here.
I learned a lot by just by solving Leetcode problems and looking up wikipedia.
Going through an algorithms book seems just tedious. Trying to beat others' runtime is much more fun

>> No.12717577

>>12717530
leetcode is fun but you learn more about how to recognize where basic algos go with leetcode than actually learning about algorithms proper. Your idea of what "algorithms" is seems fairly limited (ie, durr how do I mash hashmaps and trees together to make a solution) if you think leetcode's gonna teach it to you.
Leetcode won't teach you how to make a sketching algorithm.

>> No.12717903

Why is SICP so shilled here? By all means it is a good book. However I don't see what one gains in investing his time on this book rather than taking appropriate undergrad classes. The interpreter chapter? Covered in the first 2 weeks of a proper compiler class. Algorithmic thinking? Introduced MUCH better in a proper algorithm class (reminder that SICP shies away from explaining basic complexity analysis like master's theorem). Stop wasting time with this handy-wavy horseshit and take the appropriate courses then If you want to expand your mind/knowledge just take grad-level classes and partake in research. I legit don't see what there is to gain in wasting hundreds of hours in this book.

>> No.12717973

>>12717903
its a meme among programmers who have never read it. lots of high schoolers who are learning programming and have never gotten a formal education who think SICP is really hard too, and programmers meme it as "completely changing the way you think about programming." The fact that it comes out of MIT doesn't help, it makes redditors think its some really smart book when in reality its supposed to be an intro book for people who's only experience in programming and computer science doesn't go beyond like one month of writing python.

>> No.12717989

>>12713745
It's a BA program at UMGC. I'd likely end up getting a master's at the very least but I do want to work in a research facility in some facet. The program I found was Cyber Ops which looked promising, but I'm not sure if there's any AI development in that.

>> No.12718030

>>12717903
>Why is SICP so shilled here
It's shilled in /g/ and this is a /g/ invasion thread.
>investing his time on this book rather than taking appropriate undergrad classes
Agreed except read books used in undergrad classes rather than wasting time/money taking undergrad cs classes.

>> No.12718248

>>12698133
I thought Bayes was just about the basic conditional probability during whole undergrad studies but now I see it’s based as fuck.

>> No.12718605

How the fuck do C input/output streams work
I'm trying to do some analytic shit on a a CSV file with 13 x 6000 dimensions and I cannot for the life of me figure out why printf and file output are straight up doing nothing
yes I've tried fflush
yes I've tried adding a newline character
is there some property of c that just shits the bed as soon as you start trying to crunch too many numbers?

>> No.12718805

I'm doing CS masters but physics background
When doing algorithms with matrix positions and neighbors
Do I really need to make 9 different checks?
(4 corners (3 neighbors), 4 edges (5 neighbors), middle (eight neighbors).
It's just tedious and I'm sure someone has figured it out

>> No.12718847

>>12718605
what are you trying to print line by line or char by char?

>> No.12718889

>>12718605
>printf
you need to use fprintf

>> No.12718898

>>12718805
do the outside and check each element if it's out of bounds
then do the middle with no oob check

>> No.12718969

>>12718898
Ah thanks. Makes a lot of sense.
If I'm reading from a file then something like

Basically
//neighbor 1
chkbnd =Fseek(pointer...offset_to_,neigh1...)
if (chkbnd == 0) {
//found neighbor
//fread
} else {
//no neighbor
}
//neighbor2
fseek(neigh2_offset) {
repeat for all eight neighbors
It's binary only so I can calculate byte position easily

>> No.12718983

I have this list here that I want to split up into multiple lists and put those lists in one single list (list of lists):

holder = [1, 4, 1, 4, 2, 5]

I have a value that determines the length of each inner list(elePerList). In this case, the value is 2. I'm having trouble getting my code to work, however.

Basically, I want my end result to be: finalList = [ [1, 4], [1,4], [2,5] ] but my current end result is: [[1, 4], [1, 4]]

for ele in range(len(holder)):
if counter == elePerList:
finalList.append(newVals)
newVals = []
counter = 0
newVals.append(holder[ele])
counter += 1

>> No.12718988

>>12718983
Sorry, the code is:
for ele in range(len(holder)):
if counter == elePerList:
finalList.append(newVals)
newVals = []
counter = 0
newVals.append(holder[ele])
counter += 1

>> No.12718994
File: 5 KB, 363x147, 387d6ca4221447e0110ec998bb313774.png [View same] [iqdb] [saucenao] [google]
12718994

>>12718988
One more try

>> No.12719000

>>12718983
go bother >>>/g/dpt with these basic programming exercises, they'll answer you

>> No.12719008
File: 236 KB, 600x600, 4ab.png [View same] [iqdb] [saucenao] [google]
12719008

>>12719000

>> No.12719021
File: 28 KB, 318x412, haskell.jpg [View same] [iqdb] [saucenao] [google]
12719021

>>12716425
Yeah I'm already familiarized with prolog and c++, is fun indeed, but I want to learn some purely functional stuff. Right now I'm on a trilemma between Haskell, standard ml and lisp/scheme.
>>12717530
If you liked leetcode then I would definietely recommend Codeforces, it has a lot more mathy problems and tends to be more challenging.

>> No.12719044

>>12719021
if you want the purely functional experience I would go haskell over scheme. "lisp" is not a single language and the family is not partial to any paradigm. scheme itself is multi paradigm. haskell as a true functional language is way different and has had way more research and work put into it.

>> No.12719082

>>12717903
SICP is a great intro text for all of these topics. A lot of learning is about repetition in different context. I do think all the stupid "this is the 1 book you need bro" shilling needs to stop, but it doesn't mean it's a bad text. Following any sort of syllabus MIT gives out on OCW leads you to spending at most a semester - a semester and a half on a fairly strong introduction to computation.
It's by no means supposed to be something you read to jump into grad classes or even substitute undergrad algo.
>>12717973
the meme is dumb, but it's a good intro book. You should probably supplement it with another resource for a popular language to keep the lessons immediately relevant.

>> No.12719140

>>12718983
>>12718988
>>12718994
python is for fags. Also think what happens in what order for element 6.

holder = [1, 4, 1, 4, 2, 5];
counter =0;
finalList=[];
newVals=[];
elePerList=2;
for ele in holder:
[math]~[/math]newVals.append(ele);
[math]~[/math]counter += 1;
[math]~[/math]if counter == elePerList:
[math]~~[/math]finalList.append(newVals);
[math]~~[/math]newVals = [];
[math]~~[/math]counter = 0;
print(finalList);

>> No.12719190

What is computer science

>> No.12719222
File: 125 KB, 1050x1657, CS comparison.png [View same] [iqdb] [saucenao] [google]
12719222

>>12719190
The midwit major (IQ=90~105) for people too smart for IT but too stupid for CpE

>> No.12719256

>>12719222
this is just wrong, some freshman who picked CE to feel superior for picking a less popular major wrote this. CE is just CS but with less theoretical CS and math electives and a smidgen of EE.

>> No.12719272

>>12719256
The amount of misinformation on this board is fascinating and worrying. It's obvious that people here have merely skimmed the basics of CS and think they've figured it all out. Moreover, the abhorrent lack of understanding of epistemology and phil. of science is perplexing. I'd almost say people here are freshman at best, but I think they're either naively ambitious NEETS or high school kiddos. There are probably more accomplished ppl on r9k and /b/ than here. It's like talking to toddlers who think they're geniuses for visiting this board. No wonder /lit/ looks down on /sci/fags. At least litfags read.

>> No.12719296

>>12719222
>coding
hahahahahahaha

You know C or C++ is taught at cs right? Pro-tip: c is not interchangeable for or a subset of c++. You know discrete math and algorithmic courses and others are shared with the math department, so you have mixed classes of csfags and mathfags? You know you're exposing yourself for going to a shitty school if your classes are watered down and showing how much of a brainlet you are?

>trivial machine learning
Do you even know what that means? God scifags are retarded.

>graphics & computer vision
>in EE and not in CS
How to spot a clown. Ok im done with this board lmao this is a joke lmao.

>> No.12719342

rand is not threadsafe so they recommend mutex but still with the time precision (1sec) of rand you get the same random values because the mutex lock is gone in less than a second and next thread accesses rand

so I call srand(time+threadid) in each thread func to get some randomness but you're supposed to call srand once in main
it's fine for the assignment but eh kinda frusturating

>> No.12719359

>>12719082
SICP is deprecated by Dr. Kay and CS19, gramps.

>> No.12719365

>>12719222

The CS major will make 2x as much right out of college and be a millionaire by 30. Cope.

>> No.12719437

>>12719296
>>trivial machine learning
>Do you even know what that means? God scifags are retarded.
Muh flocking algo, muh A*, muh bfs, muh tensor flow. Undergrad AI/ML courses are a joke.

>graphics & computer vision
>in EE and not in CS
Plenty of universities have those courses in EE/CpE departments.

>You know discrete math and algorithmic courses and others are shared with the math department
And they're still a joke.

>> No.12719442

>>12719296
computer vision is EE at my uni.

>> No.12719445

>>12719365
>>>/biz/ is that way
Your salaries have nothing to do with cs having no math and weak science.

>> No.12719463

>>12719342
>rand
>in 2020
No, use a modern library if you want to get good randomness.

std::mt19937_64& get_random_gen_ref() {
[math]~~~[/math]thread_local static std::random_device rd;
[math]~~~[/math]thread_local static size_t thread_id = std::hash<std::thread::id>{}(std::this_thread::get_id());
[math]~~~[/math]thread_local static long long time = std::chrono::high_resolution_clock::now().time_since_epoch().count();
[math]~~~[/math]thread_local static std::seed_seq seeds{
[math]~~~~~~[/math]static_cast<uint_least32_t>(time >> 32), static_cast<uint_least32_t>(time),
[math]~~~~~~[/math]static_cast<uint_least32_t>(thread_id >> 32), static_cast<uint_least32_t>(thread_id),
[math]~~~~~~[/math]rd(), rd(), rd(), rd(), rd(), rd(), rd(), rd(), rd(), rd(), rd(), rd(), rd(), rd(), rd(), rd(), rd()
[math]~~~[/math]};
[math]~~~[/math]thread_local static std::mt19937_64 mt{seeds};
[math]~~~[/math]return mt;
}
int random_range(int a, int b){
[math]~~~[/math]return std::uniform_int_distribution<>{a,b}(get_random_gen_ref());
}

>> No.12719486

>>12719296
>>in EE and not in CS
>How to spot a clown. Ok im done with this board lmao this is a joke lmao.
Literally 5 seconds of google:
https://www.ece.rutgers.edu/14332472-introduction-robotics-and-computer-vision
https://www.ece.rutgers.edu/14332474-introduction-computer-graphics
https://sites.coecis.cornell.edu/eceocw/courses/ece-5470-computer-vision/

>You know you're exposing yourself for going to a shitty school if your classes are watered down and showing how much of a brainlet you are?
Yeah, anyone who finds calculus easy is dumb and goes to a shitty school. i found it hard so i r smart and go to good school!

>> No.12719495

>>12719272

Dude stop, there's a limit to how embarrassing you can be

>> No.12719506

>>12719486
Not the anon you're talking to, but
>rutgers
I went there in undergrad. They have robotics and graphics courses at rutgers as well lmao
https://arc.cs.rutgers.edu/courses/f19/460.html
https://orionquest.github.io/CS428/
https://orionquest.github.io/CS523/
The computer vision class at rutgers was in the grad CS department, taken by both grads and undergrads, and was seen as better than the ECE variant iirc.
EE/ECE is fine, even great. But this idea that CpE is suddenly better equipped for everything is bad faith - I think their major ends up showing them some more technical *knowledge* but most of the *talent* I saw came from math, CS, or physics. That is to say, I saw more novel work come out of students in these fields, whereas CpE students kept their heads down.
Hell, the OS and other systems CS courses that CpE students had in their department were known to be way better in the CS department.
Unfortunately though, they've dumbed down discrete a lot since more students have joined, but luckily they list (and encourage) intro to proofs in the math department as a valid way to fill that prerequisite for more apt students.

>> No.12719518

CS should be a MSc discipline and the BSc in CS should be retooled to a BSc in SE.

It's not that CS is easy but there is a lot of material to cover as one needs to learn programming and computer architecture which are very broad. All the juicy stuff doesn't come until much later unless you opt into taking more difficult classes like HPC, Parallel Programming, Adv. Algorithms, etc as a Senior. But then you're forgoing other classes such as cybersecurity and UI design. Everything has to be crammed into 90-110 "major credits". Physics is similar. You'll take 1-2 semesters of intro. QM, 1 semester of intro special relativity, etc. Electives might me limited to a 2nd semester of optics or intro. to astrophysics, but nothing super juicy. I've yet to see a university require complex analysis outside of a math department despite undergraduate engineering, CS, physics student all claiming to have taken the class. And complex analysis is still a pseudo grad-level class and much juicier things come into play later which are very relevant to CS these days such as functional analysis, manifolds, galois representations, SVD, etc. At the graduate level you're given a lot more freedom on what you want to take as long as it fits your thesis obviously.

>> No.12719520

>>12719256
>CE is just CS but with less theoretical CS and math electives and a smidgen of EE.
This isn't exactly true. CE is EE without some of the senior level electives or generality in the core. You give up some classes in say, RF and communication, to do VLSI and some basic bitch CS courses. Most CE people don't really get to do CS proper - they just do data structures, and then they either do some algo, or they do some systems. Compilers if they have some extra time, but likely not because labs take a while to schedule.

All in all, CE aint bad, but it sure as hell isn't a replacement for CS. They do get a pretty solid pipeline to design of computer parts and hardware design, but that's locked behind at least a masters. At that point, CS work in systems ends up showing in hardware implementation. Case and point (since we were talking about Rutgers):
https://www.cs.yale.edu/homes/abhishek/#publications
A more than decent amount of this work has shown up on industry hardware. His students in particular work for nvidia and intel now, if I'm remembering correctly, despite being in CS and not CE.

>> No.12719536

>>12719518
I agree that CS is huge, and just like aerospace engineering, it should either be exclusively a graduate focused degree, or it should be a 5 year intensive program. A lot of the juiciest parts of CS come after appreciating a lot of motivation from both math and the systems side, especially in the EECS context.
>despite undergraduate engineering, CS, physics student all claiming to have taken the class.
this is shitposting. at most, engineering majors take a 'complex variables' class which is just calculus with contours lmao.
>which are very relevant to CS these days such as functional analysis, manifolds, galois representations, SVD, etc
funnily enough, complex analysis has been relevant to CS in fairly interesting areas of algorithm analysis (naturally through analytic combinatorics) as well as providing some structural results. Here's one:
https://math.mit.edu/~kelner/publications/LowGenusJournal.pdf
"While this lemma is essentially combinatorial in nature, its proof comes from continuous mathematics, drawing on the theory of circle packings and the geometry of compact Riemann surfaces."

Not sure if this is enough to put complex analysis in a CS canon, but I could see more nondiscrete, upper div math fit into a CS education if they afforded more time. Imagine all the shit you could teach if you could assume CS majors had rigorous linear algebra and algebra up to galois theory - you could teach them cutting edge cryptography, or the fancy spectral methods, or even a fuckton of quantum information.
As for functional analysis, I've seen it more and more among algorithmicists since dealing with low dimensional representations of high dimensional data via low distortion metrics and other dimensionality reduction techniques are all rooted in methods from functional. Sorta weird to see, but I'm happy to see CS starting to tackle lots of problems with fancier tools.

>> No.12719564

I just want a job ... i need health insurance

>> No.12719724

>>12719463
lol

>> No.12719815
File: 14 KB, 400x400, chad.jpg [View same] [iqdb] [saucenao] [google]
12719815

>>12708084
>>12708062
I went through "The Algorithm Design Manual", "Computer Systems: A Programmer's Perspective" and the first part of Nand2Tetris, IMO they work as a guide, listing all the topics you should know in a good order but not deep enough.
I complemented them with CLRS, "Algorithms" by jeff Erickson, "Advanced Programming in the UNIX Environment" and "Logic and Computer Design Fundamentals".

>Mathematics for Computer Science
I didn't like it, the explanations of proofs and recurrences are poor, and the graph theory notation isn't standard, it's also boring to read.
I used "The book of proof", and some parts of "Discrete and combinatorial mathematics" by Grimaldi.

>Structure and Interpretation of Computer Programs
Overated, I shill "Introduction to functional programming" by Richard Brid (the 1st edition, not the haskell versions)

The databases recomendations are not good if it's your first time learning databases, I used the first 12 chapters of "Database Systems: The Complete Book" and the frist 9 of "Database systems concepts" by Lilberschatz

Curretly I'm going through "Crafting Interpreters" and "Operating Systems: Three Easy Pieces", both are good, practical and have good explanations, but make sure you cherry-pick topics from the dragon book and do the labs from OSTEP (some overlap with CSAPP tho).

>> No.12720043
File: 208 KB, 1428x764, 552358912456.png [View same] [iqdb] [saucenao] [google]
12720043

>>12719222
>

>> No.12720277

What can I do if I learn cs and I mean with the abilities I would have gained not wageslaving

>> No.12720280 [DELETED] 

>>12720277
Literally whatever you want. You'll know enough to know what you don't know (sort of), and enough to know what you like and want to do. For a lot of people, all they learn is that they're find with being code monkeys because money is bretty gud

>> No.12720347

>>12713235
Anon how do I get better at competitive programming? I will definitely go through the book that you recommended, but do you have any other strategies?

>> No.12720353
File: 119 KB, 300x432, BookII.png [View same] [iqdb] [saucenao] [google]
12720353

Do you guys know some books on Computability Theory and Type Theory?

>> No.12720365

>>12720353
also interested

>> No.12720559

>>12719442
My wording was ambiguous. I' m saying he's thinking its NOT in CS, which it absolutely is. I'm not saying it shouldnt be in computer engineering or EE.

>> No.12720569

>>12719437
>A*
>machine learning
we are reaching disinfo levels that are astronomous.

>Plenty of universities have those courses in EE/CpE departments.
I'm not saying they shouldnt, they are found in CS as well, unless you went to a shitty school.

>> No.12720692

>>12720569
>we are reaching disinfo levels that are astronomous.
>AI/ML
>AI
Learn to read code monkey.
>they are found in CS as well
That are weaker and spend more time "reviewing" baby math. Just like how there's numerical analysis in the math department (good) and numerical methods in the cs department (brainlet).

>> No.12720813
File: 1.85 MB, 1280x720, 0bb09d54-f668-496a-b8ea-dbf3a83ad2cd.png [View same] [iqdb] [saucenao] [google]
12720813

>> No.12720835
File: 510 KB, 873x1275, 85C99AF9-C1A6-43A4-B28F-203428395DB8.jpg [View same] [iqdb] [saucenao] [google]
12720835

>>12720353
>Computability

>> No.12720842
File: 42 KB, 300x300, 1608398745737.png [View same] [iqdb] [saucenao] [google]
12720842

https://youtu.be/Q4ecIcAYug4

>> No.12720983

>>12719536
Complex analysis would fit the curriculum but it requires too much preparation in an already crowded major. Typically the school wants one to have a proof-based algebra class and real analysis. The best hope would be to push "coding" aka cs 101 style classes to HS curriculum. This way students can immediately jump into basic architecture and data structures during the first semester.
Before we delve into topics such as complex analysis CS students should be more adapted to understanding memory management, process management, thread management, querying, etc which they really only get a handle on in their junior and senior years when they're take operating systems and optimization.
Another possible item to drop is discrete math in favor of undergraduate combinatorics which also serves as another baby proof class. The only issue here is that you typically want students to have discrete math before jumping into basic algorithm analysis.

>> No.12720991
File: 32 KB, 1200x660, featherine gou.jpg [View same] [iqdb] [saucenao] [google]
12720991

>>12720842
Wrong song
https://youtu.be/g-1BwozQvbM

>> No.12722608

>>12720347
Basically just learn to identify problems.
Recognize when a problem requires Dynamic Programming, or if some sequence problem is a disguised geometry problem, or if you can just do trivial graph operations to solve your problem.
The language you use doesn't matter too much, just that you're familiar with it.
Look at any ICPC qualifier and just try to see how many problems you can cram through in 3hrs.
Learn how to use regular expressions, and how whatever language you use handles them. Some problems can just be boiled down to regexes.
Here's a few local level ones.
http://www.cs.otago.ac.nz/nzpc/resources/
If you look at 2002, the final question is literally just "build a graph".
http://www.cs.otago.ac.nz/nzpc/resources/NZ2002.2.4.pdf
If your solution doesn't work for the judge, but works for the sample, try to imagine the worst possible case.

>> No.12722628

>>12720983
I think programming is an important part of CS, but I agree that introductory material ends up being way too much of the degree. Ideally, an intro to CS would be taught during data structures, and data structures itself would be a bit more rigorous.
>complex analysis CS students should be more adapted to understanding memory management, process management, thread management, querying, etc which they really only get a handle on in their junior and senior years when they're take operating systems and optimization.
no offense, but learning complex analysis is a total non sequiter to a lot of these systems topics. Complex analysis is a great class, but it's not immediately obvious to me that it belongs in the CS curriculum as more than an elective.
>replace discrete math
literally just have them take the math major's intro to proofs class, since most good schools already take it as a replacement for intro discrete. Upper div / grad combinatorics should be a requirements for theory, but that's just my taste. In my experience, undergrad combinatorics is either super piss easy or the hardest class you take in undergrad, bar none, and it all depends on your professor and what book they use. If your professor is hungarian and use a combination of Stanley and old untranslated texts, you're fucked.

I unironically think CS majors should have their own version of analysis I (though they should take the same calc 1 - 3) that focuses rigorously on limits, generating functions and series, etc etc., maybe some Fourier theory (since it shows up a lot in CS theory these days) in the CS context. This would simultaneously prepare CS majors for algorithm analysis and prepare them for other topics in upper division theory like learning, applications of hypercontractivity, etc.. They should take at least 1 semester in algebra and 1 in linear algebra, though they ought to take 2 full semesters in algebra for the numerous applications. (cont)

>> No.12722985

>>12722628
(cont) This curriculum is definitely biased towards my interests in theory, so I think in practice it ought to be toned down a bit, but the CS major is in dire need of an extra year and way harder fundamentals.

>> No.12725304
File: 160 KB, 1424x1080, 1580021575693.jpg [View same] [iqdb] [saucenao] [google]
12725304

>> No.12725309

I posted in the wrong thread.
CE is better than CET, correct?
This school only offers CET.

>> No.12725508
File: 30 KB, 550x235, ET spectrum.gif [View same] [iqdb] [saucenao] [google]
12725508

>>12725309
>CE is better than CET, correct?
>This school only offers CET.

CET is a trade degree same with EET (or IT really). Only shitty schools even offer those degrees.

>> No.12725522
File: 67 KB, 357x756, 1607652259209.jpg [View same] [iqdb] [saucenao] [google]
12725522

>>12699555
>mandatory lab or practical
>waste an hour decrypting what the prof wrote 3am last night
>waste an hour trying to make some broken hardware work
>waste an hour waiting for the instructors to check your work
>only finished half the stuff because prof doesn't care about your time
>have to finish every lab to pass the course
>have to spend 4 hours at home pre-doing the lab without any of the hardware

>> No.12725802

>>12725508
what is complex analysis as a paying job though? what's wrong with producing / creating / writing for or interfacing with hardware? I can only think of jobs that fall on the right side of this spectrum

>> No.12725929

>>12725508
>Mathematically Complex Analysis
This is a meaningless term. Either you're saying there is """analysis""" which is so-called mathematically complex, or you're talking about the field Complex Analysis, but it doesn't really signify anything other than "whwowehwha engineering majors know math" when they really mean that engineering majors learn enough calculus with contours to say they know "complex variables"
Hard agree that Engineering Technology is a useless degree though

>> No.12725958

>>12725929
I just want to program firmware and do some stuff with FPGA or MCU. I still don't know how "analysis" would fit as someones job description
The CET trade degree is talked down on but I'm having trouble understanding why. It seems like CET is where you actually do these things, meaning, ands on, and I'd prefer that. Not to take away from the more academic side of course.

>> No.12725964

>>12725958
Typos

>> No.12726623

>>12722628
The best fix for now would be to focus on primary education. Coding syntax is simple enough that you can come out pretty far ahead from just utilizing a "bootcamp". At the HS level you could probably get away with introducing basic data structures like an array, linked lists, and simple tree structures. Imagine if the math department had to add in very basic algebra, geometry, as well as pre-calculus to the standard curriculum. They'd be crunched for time and a student might be limited to only taking one of abstract algebra or complex analysis. Topology, combinatorics, graph theory, etc would get cut from core math and made an elective.

>> No.12727627
File: 211 KB, 500x500, really makes you wasa.png [View same] [iqdb] [saucenao] [google]
12727627

>> No.12727683

>>12716414
>remember learning Java, webdev, and using git
That has nothing to do with Computer Science, though.

>> No.12728101

WHAT IS A GOOD PYTHON BOOK REEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE

>> No.12728148
File: 24 KB, 333x499, 51AxuYt2ovL._SX331_BO1,204,203,200_.jpg [View same] [iqdb] [saucenao] [google]
12728148

>>12728101

>> No.12728189

>>12700165
>>12704154
For me it's the exact opposite.
I have 3 classes out of >30 that are SE and not pure comp sci.
I am starting to think this boards hilarious distaste for comp sci comes from shitty american colleges and universities that scam their students

>> No.12728224

>choose all of the theoretical, ML/DS and mathematical courses
>avoid anything practical
>know Java, Python, R and a little C
>about to complete B.Sc.

Can I continue into my masters and find a good job after this without having to learn 30 different frameworks and protocols? Seems like every job offer I see demands some kind of experience with these things

>> No.12728514

>>12725958
Embedded engineers, firmware engineers, fpga engineers, test engineers, hardware engineers are the ones programming those devices. A CET would mindlessly put stuff together.

>> No.12728959

>>12728101
The docs, unironically. And the realpython site

>> No.12729167

I'm studying for my Knowledge engineering exam, some basic AI stuff (from more traditional methods to ML and probabilistic models). I don't really find the subject disappointing, but it helped me to realize I don't want to study AI related courses for a while. Soon I will have to decide where to study for my Master's.
What are some others areas with a decent amount of courses? I'm kind of interested in security, but I want to examine all the other options

>> No.12731219

>>12728189
it's largely this

>> No.12732458 [DELETED] 

ic

>> No.12732464

How good are the following universities for CS PhD?
UC San Diego
Maryland
Stony Brook
Northeastern

>> No.12732485

is there a web development method for sane peope?

>> No.12733177

>>12732485
no sane person finds a good method for web development

>> No.12733812

>>12719815
Thanks for the tip, anon. Much appreciated.

>> No.12733858

>>12732464
Lookup cs rankings, it ranks university based on research publications and fields.

>> No.12733862

>>12732464
maryland is good, stony brook has some good algorithmicists

>> No.12734548 [DELETED] 
File: 51 KB, 500x500, 44f89t.jpg [View same] [iqdb] [saucenao] [google]
12734548

>>12695783
Hey biz
I work for an startup and my team is looking for: Backend Software Engineer
Ethereum + web3 Software Engineer
Chief Security Engineer
Full Stack Software Engineer
Front End Software Engineer

If we hire someone you referred, you get a bounty
https://talent.reserve.org/r/227

>> No.12735748

>>12720353
Soare's Turing Computability is the gold standard iirc.
I really liked that book.

>> No.12735761

>>12722608
Thanks anon!

>> No.12735771

>>12720692
>just like how there's numerical analysis in the math department (good) and numerical methods in the cs department (brainlet).
I did a math and CS double major. They literally told us to do the CS numerical because it was the same course taught by the same 2 professors in both departments, but you actually got your hands dirty in the CS version with both theory and implementation homework whereas in the math version, you do very restricted implementation in premade Matlab modules.
The best option was to take the numerical analysis class in the grad department which was cross listed in math and CS grad departments, where it was both rigorous and implementation heavy lmao.

>> No.12735840

>>12719486
I was Rutgers ECE class of 2019. I took this:
>https://www.ece.rutgers.edu/14332472-introduction-robotics-and-computer-vision
Almost everyone in this class did poorly and needed Prof. Dana's extra credit because ECE intro to programming and architecture classes didn't teach the "trivial stuff' at all. Literally these EE students failed using basic python/tensorflow, openCV, Karas, etc.. and the people with EE/CS double majors or the (few) CS majors that got in did fine because they had experience.

It was hard for CS majors to get it because getting an SOE course from SAS is going through a decent amount of red tape, but the people who managed to get in did more than fine. A lot of unqualified EE students took it because they wanted Dana as their senior project advisor.
At Rutgers, they tell you to take the CS intro to CS, data structures, architecture, and systems classes because the ECE department literally cannot teach these classes worth a shit, and the TA's were buffoons who couldn't write basic assembly to save their life. The architecture in ECE had programming assignments that consisted of small labs where the assignment would hold your hand so you could finish it within 2 hours, except maybe for the pipeline stuff. In contrast, CS architecture gave you 4 major projects that took about 2-3 weeks that you did by yourself on the low level. Some of these ranged from implementing DLD in software, making performant caches, binary bomb lab (this was really fucking cool and fun), making a baby version of an x86 emulator (called Y86 lmao), etc.

None of this is to say EE/ECE was bad or has bad students. They're great, and very smart, but you should be wary that the knowledge they call trivial is usually done out of ignorance and insecurity rather than actual truth. That, and there's way more to CS than just programming and software.

>> No.12736974

>>12735840
This kills the EE major.

>> No.12737519

>tfw golden handcuffs
>make too much being a codemonkey to just yeet it and do postgrad

help

>> No.12737980

>>12737519
Hey if you’re making money and happy with that, don’t let people here get you down.

>> No.12738912
File: 123 KB, 800x1196, F58BA48C-BD69-468E-897A-17B09BBFD170.jpg [View same] [iqdb] [saucenao] [google]
12738912

Any advice for a math/CS anon who wants to get into embedded/FPGA/firmware work?

>> No.12738965

>>12738912
You need to learn computer architecture, fundamentals of microcontrollers, electric circuits, digital logic, programming in C+Asm and probably signals and systems. This should be enough to apply for some trainee position.

>> No.12739140

>>12738965
I have architecture, C + ASM, and digital logic design through my classes. Is the Berkeley EECS signals book (SISS) good?

>> No.12739145

>>12738965
>>12739140
Oh, also do you have any resources for learning about microcontrollers?

>> No.12740387

>>12739140
>Is the Berkeley EECS signals book (SISS) good
SISS?
>Structure and Interpretation of Signals and Systems
Of fuck no, don't tell me they made another book like SICM
>https://ptolemy.berkeley.edu/books/leevaraiya/releases/LeeVaraiya_DigitalV2_04.pdf
It's not but it's weird seeing it have a finite automata focus rather than the usual circuit block diagrams until chapter 8. The reviews on amazon aren't that great either...

>> No.12741446 [DELETED] 

ya

>> No.12741526

>>12739140
>>12739145
>Is the Berkeley EECS signals book (SISS) good?
Never tried it.
>Oh, also do you have any resources for learning about microcontrollers?
Nah, I'm searching for some decent ones myself. I'd say to search for some book or resources on STM32. Hard mode: learn everything form official manuals. In any case, buy yourself some discovery board.

>> No.12742286

So, I got a job as an intern software developer, but it's unpaid.
Right now I'm doing more work than most other interns and some full time employees.

Can I ask to be paid now or what? I know it was dumb of me to agree to be unpaid but I was literally getting 0 work for 4 months.

>> No.12743087

>>12720277
theoretical shit. if you're just trying to write code to build product, industrial experience will btfo anything you could learn in school.

>>12737519
iktf but i also don't want to spend 2-3 years doing fuck all to restart my career

>>12737980
i'm afraid that i'm too much of a lazy midwit to make it in research or grad school

>> No.12744952

>>12737980
Get out with your Judaism

>> No.12745973 [DELETED] 

Money is good, friend

>> No.12747444 [DELETED] 

heh

>> No.12747575

>>12744952
>if you aren't starving, reee!
lmao even academics in CS make more than math and physics academics

>> No.12747581

>>12747575
nobody goes into academia for the money though. but yeah CS has a good fallback plan in the form of SWE

>> No.12747677
File: 31 KB, 295x221, DDEF9B85-5124-430E-B795-F26C8597D627.gif [View same] [iqdb] [saucenao] [google]
12747677

>>12747581
Of course not, academia isn’t about money. But it’s funny to think that CS can apply for both the pure math and the engineering grants because of its relevance in both.
The real kicker is that this board is obsessed with saying CS academia has no weight (every good CS person is really just in math, physics, engineering etc etc), but if you follow grants, h-indices, journal and conference presence, etc., this isn’t true at all.

>> No.12747706

What's with the elitist sperg shitting up like half the thread by just talking out of his ass and gatekeeping? Why does he obsess over big words and a book?

>> No.12747712

>>12747706
Who?
>big words
Which ones?
>a book
Which one?

>> No.12747731

>>12747712
Read the first half of the thread.

>> No.12747747

>>12738912
just get an arduino and a basic electronics kit + breadboard. I ordered these from Aliexpress its dirt cheap (takes two months to arrive tho). Install the arduino IDE and start experimenting. Programming MCs is easy as cake if you set everything up properly.

>> No.12748822

>>12747747
Thanks for the advice anon

>> No.12749415

>>12703485
>I’ve finished my third year in 2020. If I go down the cs route it will take me two more years and I will graduate with maths/cs.
God tier combo, do it.

>> No.12749763

>>12703154
i know very few people who dropped math for cs. lots of people didn't like cs and went to math

if you live in a country with a tech bubble, then money is the obvious reason for doing CS

>> No.12749771

>>12699192
some of them don't even write it. i've seen code copied straight from tutorialspoint. at least one large scale cheating scandal a semester

>>12703485
>I’ve finished my third year in 2020. If I go down the cs route it will take me two more years and I will graduate with maths/cs.
i changed into CS fourth fucking year of college. i only regret not doing it sooner
just warning you jobs are starting to pay less so the market is not as braindead easy as it was a few years ago, but every market is fucked so having both math and cs is a good combo and i wish i did it

>> No.12749847

I really really really need help on this question. I've been trying it for fucking hours and I don't get it.

How do you construct a regular language that denotes the language L={w:(n_a(w) - n_b(w))mod3 = 1}

I've been trying for hours and I don't get it. There are too many specific cases and I don't know how to reason along the entire string w.

Is my only hope constructing a finite automata and converting to regular expression or what?

>> No.12749984

>>12749847
What are n_a and n_b here?

>> No.12750364

>>12749847
your answers in another thread:
>>12750100
>>12750038

>> No.12750408

Math wouldnt be so shit if they gave automata theory in kindergarteN.

To show that math is a partern construct not a divinationn oracle.

Watch this rare af video!!!

https://m.youtube.com/watch?v=5XHGbVnRkQc&t=71s

>> No.12750420

>>12750408
this is for divisibility of an integer given a binary basis, not the divisibility on the difference of occurrences of two symbols.

>> No.12751782

>>12749763
just do both lol

>> No.12753002

>>12749847
Let me get this right:
L is all W, where (f1(W) - f2(w)) mod3 == 1?
If I have this wrong, then ignore me, but:
Here's a really cool skateboard trick you can try.
>any number mod3 == 0 if and only if the sum of digits % 3 = 0any number mod3 == 1 if and only if the sum of digits % 3 = 1
>(a - b) % 3 = 1 iff (the sum of digits of a - sum of digits of b) % 3 == 1
now you can make a simple state machine for this
>

>> No.12753069

>>12753002
these aren't numbers, it's the number of occurrences of a symbol

>> No.12754174 [DELETED] 
File: 109 KB, 750x1091, 1597601301123.jpg [View same] [iqdb] [saucenao] [google]
12754174

>> No.12755202
File: 103 KB, 1280x720, pay up.jpg [View same] [iqdb] [saucenao] [google]
12755202

>> No.12756034 [DELETED] 

pay what?

>> No.12756162
File: 35 KB, 652x549, pepe copy.jpg [View same] [iqdb] [saucenao] [google]
12756162

>maximal independent subset
>is actually not necessarily the maximum sized independent subset

>> No.12757238

Google Hash Code's qualifier concluded around 6 hours ago. The problem for this year was Traffic Signal. I participated in the competition but couldn't solve the problem. In fact, I could not even write one line of code. Even after understanding the problem and the example, I could not think of a strategy to schedule the signals. At one point I thought of scheduling them randomly but did not eventually, thinking that it would be a waste of time.
All in all, I came to the conclusion that either my math and logic skills are too weak or I am just a low IQ idiot. I can't do much about the latter, but what can I do to improve myself to solve such questions? What do I study, what do I practice?
Past problems can be found here https://codingcompetitions.withgoogle.com/hashcode/archive

>> No.12757333
File: 24 KB, 331x499, How to solve it.jpg [View same] [iqdb] [saucenao] [google]
12757333

>> No.12757342

>>12757238
i mean its probably moreso an algorithms problem than a math problem so you should study algorithms obviously.

>> No.12757378

>>12757333
Downloaded it right now. Thanks for the suggestion
>>12757342
Yes. But algorithms are eventually based upon mathematics. That being said, I definitely require algorithm study

>> No.12757421

>>12757378
generally, you don't need much maths for designing algorithms, only for detailed analysis of algorithms that are harder to analyze. Most of CLRS has very little math.

>> No.12757987

>>12757378

You don't need much mathematical knowledge for these competitions, just do practice problems and memorise all of the algorithms.

>> No.12758700

>>12757987
Depends. The 'Hard' problems are often heavy on Combinatorics, Graphs and Number theory.

>> No.12758712

>>12695783
osu is a game for pedophiles

>> No.12758957

can anybody recommend a good resource for learning how to prove correctness of algorithms (invariants etc)?
i slacked hard during my algorithms and data structures course at uni and want to learn it now

>> No.12758995

>>12757421
This is definitely not true lol. The modern algorithmicist needs a lot of combinatorics these days, but many others in hot topics like sketching need more tools from functional analysis at the very least.
>CLRS
It’s literally a survey of algorithms for undergrads which is meant to serve as a reference. Most of the algorithms presented can be analyzed using basic mathematics, but the actual study of how people got to devising them usually comes from some higher order combinatorics.
And then of course there’s algorithm analysis that uses analytic combinatorics, where you need complex analysis.

>> No.12759037

>>12720353
Is there any background needed to get started with homotopy type theory? I'm already well familiarized with logic and set theory.

>> No.12759080

>>12759037
Familiarity with algebraic topology isn’t necessary but good for the homotopy part. The category theory you pick up on the way helps a lot

>> No.12759441

>>12758995
I really doubt that a competitive programming competition will expect you to do analytic combinatorics on a time limit like that. if the algorithm requires math that hard then doing it under time limit is stupid.

also, you are blatatnly wrong about CLRS. you don't design the vast majority of the algorithms in that book using math, you just use intuition and logic and maybe a little bit of combinatorics to reason about the time complexities but not much.

>> No.12759660

>>12759441
>I really doubt that a competitive programming competition will expect you to do analytic combinatorics on a time limit like that
we're not talking about competitive programming competitions. We're talking about algorithms design and research.
>, you are blatatnly wrong about CLRS. you don't design the vast majority of the algorithms in that book using math,
>you just use intuition and logic and maybe a little bit of combinatorics to reason about the time complexities but not much.
I mean, if we're talking about parts I-III, which is usually covered across intro to CS, data structures, and intro to proofs / discrete mathematics despite the book not being a formal requirement, then yeah, it doesn't take the most math in the world to get through. If we're talking about anything covered in a required algorithms course, ie part IV, you don't need a lot of mathematical *structure* to understand the algorithms, but you do need a decent amount of maturity to be able to do the mathematics and see how the solutions play out. And a lot of the times, while the material is presented without the lead up, most of these algorithms came from deeper combinatorial intuition. The chapter on linear programming especially uses a lot of LP duality without charging students head first into the harder combinatorics.

Now, if we're talking about the design of algorithms proper, ie academic or industrial research, it *is* steeped in a lot of math these days
https://arxiv.org/abs/1901.06764
https://arxiv.org/abs/1810.09250

>> No.12760170

>>12713833
A week for an entire class? Good luck with that.

>> No.12760189

>>12760170
the post you're replying to agrees with you lol.
the whole "learn all of MIT's CS degree in a year" is a massive meme from a guy pushing his book on "ultralearning." He didn't end up doing anything with the knowledge anyway, and it's dubious if he actually learned anything substantial at all, or even if he genuinely did anything to any sort of standards.
Remember, this guy has a video of himself doing an MIT final on quantum mechanics, but the "camera glitches out" for 2 hours and freezes, after which he's done with the exam and "scores decently after grading himself" using the already provided solutions in the materials.

Do you really think this is the type of person you'd believe got through this material for enrichment and not to make a buck off of the insecurity of people who want to self study but don't want to spend nontrivial amounts of time to learn?

>> No.12760538

>>12760170
CS classes are easy and drawn out. There's a week of material tops if you go at other STEM course pacing.

>> No.12760708

>>12713811
*If you already have a STEM degree.

>> No.12761169

>>12759660
part iv of CLRS has barely any math either. amortized analysis can get hard but again it depends on the algorithms, and the ones that appear in the main body of the text are piss easy to analyze and the problems don't get that much harder and don't require anything besides a basic ability to use summations.

>> No.12761200

>>12761169
It's like you didn't read my post at all.
>e part IV, you don't need a lot of mathematical *structure* to understand the algorithms, but you do need a decent amount of maturity to be able to do the mathematics and see how the solutions play out.
What are we qualifying as math here? The ability to solve combinatorics problems, or structure like limits, functionals, rings, fields, etc..?
> the ones that appear in the main body of the text are piss easy to analyze and the problems don't get that much harder
I recall some of the later chapter algorithms having some pretty difficult exercises from the survey on basic combinatorial computational geometry. Nothing too sophisticated, but it took longer than I thought.
> don't require anything besides a basic ability to use summations.
I don't think CLRS is a hard book. I don't think it's trivial enough to be "piss easy" either. As I am now, as anyone who passed undergrad, it's not hard and is even piss easy for *me*, but I'd be lying if your average undergrad in STEM taking algo in late sophomore year with the book wouldn't find it manageable but not trivial.

As I'm sure you know, there are way harder algorithms texts out there. There are harder combinatorics texts - I mean hell, Stanley is harder - but that doesn't mean CLRS is absolutely trivial.

>> No.12762277 [DELETED] 

Should I try applying to German Universities with DAAD scholarships (or government scholarships here if DAAD does not accept me)? I'm from a third-world country with no research experience yet, but I plan to re-contact some labs here after this quarantine. Or should I do my Master's here instead?
I'm an undergraduate in CS, though I plan to pursue something heavy in maths but still grounded with applications since I don't want to stay poor.

>> No.12762343

>>12758957
Are you familiar with Isabelle?

>> No.12762420

>>12728224
just learn one of the frameworks during your masters and create a project with it, boom you know the framework and have something to show for it too

>> No.12762437

>>12762343
no, no idea who/what that is

>> No.12762462

>>12762437
Is a proof assistant, particularly designed to work on correctness proof of algorithms. I recommend reading the book "Concrete semantics" as well as solving the exercises, if you're interested in the topic of correctness from a logic perspective.

>> No.12762577

>>12762462
awesome, thanks, i'll take a look at both.

>> No.12763900

Undergrad currently in my Junior year with no internship experience and no real projects outside of some coursework, mainly due to laziness. What's the best way to get my shit together and hopefully pick up an internship in fall/winter? Just grind out leetcode?

>> No.12763912

New thread:
>>12763629
>>12763629
>>12763629