[ 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: 286 KB, 1024x768, touhoucoding.jpg [View same] [iqdb] [saucenao] [google]
12763629 No.12763629 [Reply] [Original]

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

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

Previous thread: >>12695783

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)

New study groups for March 15th 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.12763714

>>12763629
Patcho a cute.

>> No.12764406

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.12765364

>>12735840
I went to Rutgers (years ago) too.
>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
No they don't and you had to take extra ECE electives if you did. They only say that if you want to minor in CS which is dumb, you should go for the CS masters joint degree option. Architecture is much better in ECE as the CS version wastes time teaching basic digital logic (that you should have seen before in DLD) and C programming in their course. Whether they teach assembly in CS varies with professor from what've I heard. Data Structures (PM2) did suck but only because they waste the final chuck teaching Java (so students can take cs electives) instead of teaching most of the Algorithms 344 course in it like how MIT does it.
>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
Yeah, that 1 credit ECE assembly language lab is a joke when taught by that sensors professor. You learn more about assembly in the Network Programming class (which is also the system programming class for the first third of the course).
>binary bomb lab (this was really fucking cool and fun),
Literally had that same assignment in ECE Network/System programming class. Also fun and cool.
>Almost everyone in this class did poorly and needed Prof. Dana's extra credit
Dana leaves out and glossies over a lot of stuff in that course. Though the assignments weren't anything unmanageable when I took it.

>> No.12765501

What are some good books that go into mathematical concepts like calculus or algebra applied to CS ? I want to tie the knot between the two better and discover more applications.

>> No.12765523

>>12765364
>No they don't and you had to take extra ECE electives if you did.
I should have qualified by "they." I meant the student body / seniors lmao.
>Architecture is much better in ECE as the CS version wastes time teaching basic digital logic (that you should have seen before in DLD) and C programming in their course.
No, I compared notes with my CS friends. They spent about 3 lectures on the DLD, where they got up to kmaps and flip flops / clocks. Other than that, they cover everything else the ECE version does. The reason they can afford the 1.5 week DLD primer is because the ECE version spends a fuckton of time repeating the same fucking thing over and over again lmao.
>and C programming
...and this is a bad thing how? They don't spend time in class teaching it from what I remember - they have the TA's go through some language features - but teach the course material using C and asm as common notation so that the students. pick it up. through osmosis. The ECE MIPS projects in the ECE version are generally neither interesting nor very informative to anybody who paid attention in class, and MIPS is horribly documented. Meanwhile in the CS version of the course, you're either using C or x86 asm, and the projects were always fairly engaging.
>Whether they teach assembly in CS varies with professor from what've I heard
no they always teach asm. There is always 1 project out of 4 that is based on asm. I know Russell, Santosh, and Tjang were the really good professors for comp arch in the CS dept.
>teaching Java (so students can take cs electives)
after CS 112, everyone expects you to pick up whatever language you need casually for a class. It's stupid that they "expose" students to java.

Rutgers CS is weird in that the try hard classes are there if you wanna do them (Farach-Colton, Beck, Assadi, etc. can wreck you in their courses) but it's otherwise a snooze. I got the impression that the math + CS double major guys were super intense though

>> No.12765533

>>12765501
>calculus
Any beginner books on machine learning or computer graphics would suffice. For graphics in particular, you have computational (and differential) geometry and linear algebra present as well.
>algebra
we talking abstract algebra? If so, a lot of theoretical computer science has algebra. Here's one
https://www.math.tamu.edu/~jml/simonsclass.pdf

>> No.12765560

>>12765364
>>12765523
Oh I want to add that I still firmly believe that Rutgers ECE fucks up all of their CS related courses because by the end of it, you still have a majority of people in the engineering school confused on how to write basic loops. ECE is fine as a major, but it's an open secret that all the ECE's took comp arch, systems, and OS in the CS department. Parallel programming in ECE was cool but apparently now it's taught by a super shitty professor? Also
>PM2 teaching most of CS 344 when it can't even teach data structures right, java or not at the end
Granted, they've dumbed down CS 344 massively for everyone because the amount of CS dumbfucks keep multiplying. It's an open secret that you should just take CS 513 (with Farach-Colton if possible) if you're even remotely serious about learning algorithms at the level of MIT. I think he teaches basically Erik Demaine's Advanced Algorithms course from MIT OCW + some stuff from his own papers.

>> No.12765772

>>12765501
https://4chan-science.fandom.com/wiki/Mathematics#Survey_of_Abstract_Algebra_Applications
https://4chan-science.fandom.com/wiki/Computer_Science_and_Engineering#Finite_Fields
Geometric Methods and Applications: For Computer Science and Engineering by Gallier

>> No.12766912

Should I learn combinatorics for TCS? What subfield of TCS is it most applicable to?

>> No.12766928

Just went through the first chapter of SICP and currently doing the exercises. It is a bit difficult for someone with no programming experience, but I am starting to appreciate the notion of solving problems through coding. It feels like this is how you're supposed to learn how to program in the first place. I will be taking an intro CS class this summer and I feel more confident because of this book.

>> No.12766943

Not sure if this is the right place to ask. I need to create a model for text summarisation and deploy it to Heroku, where it will be fed news content to summarize. Is fine-tuning a Huggingface transformer on the CNN-Dailymail dataset my best option or something better can be done? Can someone give me some guidance for this?

>> No.12767131

someone here has any experience with Carla? (simulator for autonomous driving)
how customizable is it? i know i can e.g. change the map, but can i for example try to teach the car to follow a line on the ground? or is it rather strictly for normal roads and traffic

>> No.12767429

>>12766912
>should I learn combinatorics
Yes
>what is it applicable to
Literally all of TCS

>> No.12769162 [DELETED] 

ic

>> No.12769224

Is all the math I need for CS in Concrete Mathematics? What doesn't it include?

>> No.12769580

>>12769224
>Is all the math I need for CS in Concrete Mathematics?
It has a lot of the relevant mathematics, and it's a great resource. It's not everything you need for CS in that obviously higher level topics are gonna need higher level mathematics (diff geo for graphics, alg. geo for geometric complexity, functional analysis for sketching algos, etc.), but these are usually upper div undergrad or graduate level topics. Concrete mathematics is a great resource for a lot of undergrad CS, but I'd suggest doing also at least
>a book in abstract algebra (Artin is fine)
>a book in combinatorics (Stanley is great)
>a book in graph theory (Bollobas or Diestel)

Of course you should do calculus from limits to at least vector calculus and probability theory on the level of Ross at the very least.

>> No.12769755

>>12769580
thank you, I'll keep this in mind

>> No.12770160

Where do I learn the basics of NLP? There are a lot of online resources available but I do not know where to start. I need to understand the TextRank algorithm

>> No.12770602

>>12770160
from my experience (working on the side on TTS and text clusterization for almost a year now), there isn't a one good source, no such thing as THE place to start learning NLP
you just need to pick any place to start and learn, if you don't know something, google it, etc
white papers are a good place to learn also, e.g. "Sentiment Classification using Document Embeddings" explains bag of words and embeddings as a whole pretty well
for starters i'd just go with some medium/tds articles about NLP

>> No.12770850

>>12770602
Appreciate the advice anon

>> No.12771909 [DELETED] 

thx

>> No.12771957

>>12763629
Will web courses push away unis in CS ed? Is there anything in a CS curriculum that has to be taught at a uni (e.g. because lab needed)

>> No.12772130

>>12771957
No? As long as the math degree is still in person, the CS degree will (and ought to be) as well. Using the computer is important for projects but hardly the point of the education or even the material. If your CS degree teaches to code rather than using code to teach or to implement, then it’s a bad program.

>> No.12772500

>>12764406
Talk to people IRL. Go to a career fair, show genuine interest in the work, shake hands, and maintain eye contact.
t. Landed internship in research lab I was hugely under qualified for in summer of my first year in CS solely based off of social success

>> No.12772669
File: 7 KB, 250x202, 1579993709183.jpg [View same] [iqdb] [saucenao] [google]
12772669

how the fuck do i build up my ai/data science portfolio if practically everything i can possibly come up with is already solved with state of the art models that'd take weeks to train on my machine or cloud?

>> No.12772695

>>12766943
why do you want to use huggingfaces transformer specifically? there are way better models for it
and yeah, cnn-dailymail would probably be the best dataset for it
https://paperswithcode.com/sota/text-summarization-on-cnn-daily-mail-2

>> No.12772799

>>12763629
>IT
Redpill me on certs and professor Messer. If I jump head first into his A+ vids, how soon can I get a decently paying IT job.
>BA in math from cal and don't want to go to grad school

>> No.12772936

>discord

kys

>> No.12773170

>>12772799
>IT
Do you have customer service experience? If so start applying to help desk jobs asap. You should want to learn the material from Messer because youre interested in it. You won't be using any of it on the help desk.

>> No.12773221

>>12773170
No customer service experience. I want a job that pays better than minimal skills. I'm hoping an A+ cert will get me closer to that. Looking for 50k salary. I know Python Java C, but nothing about internet protocol or other IT stuff.

>> No.12773407

>>12772669
Buy the latest nvidia gpu and replicate papers.

>> No.12773792
File: 186 KB, 1968x1152, IT-Career-Roadmap-2020.png [View same] [iqdb] [saucenao] [google]
12773792

>>12772799
>>12773221
i worked in IT prior to switching to development

>Redpill me on certs and professor Messer. If I jump head first into his A+ vids, how soon can I get a decently paying IT job.

most common comptia certs are A+, Net+, and Sec+. they're commonly referred to as "the trifecta" and aren't that useful in the grand scheme of things. A+ will help if you have literally 0 IT/CS experience. a BS in math can cut it as that, IMO, so you might be able to score a job without the A+. Sec+ can be worth it too but really only if you want a government job.

>No customer service experience. I want a job that pays better than minimal skills. I'm hoping an A+ cert will get me closer to that. Looking for 50k salary. I know Python Java C, but nothing about internet protocol or other IT stuff.

sounds like you should be looking more towards landing a developer role rather than IT helpdesk. helpdesk is 100% customer service (to an extent that might make you suicidal), paid significantly less, and has a far lower ceiling.

FWIW most helpdesk jobs pay between $40k-$60k with it averaging closer to the $40k side. obviously that varies on CoL.

>> No.12773957

Is this better than /g/ - T*chnology? I have tried to get advice there but people are below high school level

>> No.12773987

>>12773957
What do you mean better? It’s 4chan, so the best advice for actual general academic reading usually comes from the /sci/ wiki. This thread is somewhat better than the /g/ variants, where most people there are consoomers who want to write trivial code pushing and pulling from a database as long as it’s *aesthetic* and has enough hipster cred. To that end, they literally suggest you codemonkey and skip anything more difficult than introductory recursion.

>> No.12774001

3rd year Math student. Should I drop out for Software Engineering or keep going and use my free time on the OP's guide?

Switching majors: 4 years left
Not switching majors: 2 years left
So not switching majors gives me 2 years of free time

>> No.12774022

>>12774001
Learn CS/SE on your own and make a github.

>> No.12774026

>>12774001
Keep going on with math. Try to minor in CS by taking intro to programming, data structures, architecture, and intro to language theory / compilers. You'll be able to get into most interviews.
Self study what you can't take in the meantime.

>> No.12774034

>>12774001
>>12774026
I should add that
1) intro CS classes aren't hard because most people don't have any programming experience by the time they hit college. So instead of teaching intro CS like you would teach intro physics or intro calculus, they just teach you some concepts while focusing on programming. You can easily take these courses for a minor while doing your math major
2) these classes I suggested are mostly so you can get keywords on your resume.
3) getting an internship or any experience with software like employment at your school is valuable. it'll be your ticket into a job

Take more combinatorics and graph theory if you can, preferable at the graduate level - graduate level combinatorics shows up a lot in CS proper, and it'll be directly applicable to your algorithmic intuition.

>> No.12774045

>>12774026
>minor in CS
>for a minor
I can't choose other subjects, that's why I'm considering a full major switch

>> No.12774168

>>12774045
can you not even take classes in CS, minor and major be damned? If you can, just take intro to CS and data structures.

>> No.12774178

>>12764406
>Just grind out leetcode?
ISHYGDDT

>> No.12774194

>>12773957
ideally ITT we would actually discuss science but most of this thread is still codemonkey business anyways and the OP welcomes it for some reason. Most of the discussion is just arguing over which unis are good or which self taught pathways are good or how CS should be taught.

>> No.12774232
File: 4 KB, 250x250, georgia_tech_yellow_jackets_1991-pres-1.png [View same] [iqdb] [saucenao] [google]
12774232

Any of y'all do georgia techs online masters in CS?

>> No.12774234

>>12772695
I didn't know about that website. Will look into it. Thanks anon

>> No.12774351

I have a bachelors in aerospace engineering. I taught myself to program and work as a developer right now. I'm really interested in learning more CS and starting to consider doing a masters.

My question is should I look at doing a CS masters for non-cs background people or do you guys think my background in STEM and work experience is sufficient to handle any kind of masters in CS? I honestly don't think my fundamentals in CS are that great so I am leaning toward one of the non-cs background programs but that obviously limits my options.

>> No.12774371

>>12774351
>CS masters for non-cs background people or do you guys think my background in STEM and work experience is sufficient to handle any kind of masters in CS?
So the CS masters for non-cs background is the better one right. CS BS kids would need to do a lot of catching up.

>> No.12774424

>discord
why of all places here... god what a bunch of retards

>> No.12774585

Is it possible to a CS masters not having done CS (or any STEM) undergrad if you have sufficient industry experience?

Started out in a more marketing role out of college and gradually got more technical, basically doing data engineer work by now, but I feel like a fraud without a CS degree to back it up

>> No.12774707

>>12774585
>>12774351
If you have 5 years of experience, most schools will consider you. It honestly isn't hard and if you can grok tree traversal and the advantage of using a trie for indexing, you'll be golden. That said, every situation is different so test the waters. Worst thing they can say is no, but then there are plenty of schools and you're already working.

>> No.12774731

>>12774707
Got about 6 years of programming experience so that might work, thanks for the advice

>> No.12774812

Is it advisable to pursue a non research master's in CS right after finishing CS undergrad?

>> No.12775509

>>12763629
Covid completely fucked my life plans, and I'm considering doing programming. I'm 27, and had C++, Visual Basic, databases and other computer science related courses in school. But that was almost 8 years ago.

How long would it take for me to code acceptable anough to work on non-professional projects and build a resume? I appreciate the links in the OP.

>> No.12776408

>>12763629
hi i wanna pogram scalp bot ty

>> No.12777211

>>12776408
ya ok read book by bjarne stroustru, ur welcome

>> No.12777333

mechanical engineer here, I am looking to get back into programming, c++ and/or python, but I am having trouble choosing what resources to use. I am looking for an organized and structured program, almost like a college course. Any tips? Ive found this that looks promising? also, video vs text course? https://www.learncpp.com/

>> No.12777742

Anyone has resources on adiabatic non quantum computing?
I want to know what types of adiabatic logic gates exist, if a hardware or software platform exists to make adiabatic circuits, whats the reason no one takes the time to make adiabatic processors and algorithms, how memory works on such systems.
Links, books and videos would be nice as well. Everything I find is about quantum computing.

>> No.12778134

Is masters in CS (*IF* you already have a BS on CS) a meme? As I have been told it is simply too "weak"/not competitive enough to get real development/research jobs, which you have to compete with phd or postdocs incels who have been on academia for a decade and plain unnecessary for the vast majority of jobs which people with BS can do just fine.

>> No.12778644
File: 212 KB, 150x200, 1613859617490.gif [View same] [iqdb] [saucenao] [google]
12778644

What are the best books to learn java and c++? Building Java Programs was great until chapter 8, but now I'd like to try another book. Thanks.

>> No.12778730

>>12778644
Big Java is good

>> No.12779104

>>12778644
>learn java
>>>/g/tfo and never return