[ 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: 305 KB, 640x974, 1414364978661_0.png [View same] [iqdb] [saucenao] [google]
7324450 No.7324450 [Reply] [Original]

Working on my BS in Computer Science. Is this a good guide for determining what I should know? I want to be a software engineer, or maybe something in computer security, with a government agency. I'm also interested in parts of computer science as a hobby.

http://matt.might.net/articles/what-cs-majors-should-know/

I also plan to do pic related this summer. Is it recommended? I think it teaches Scheme as a first prolang but I heard Python would be better.

After learning my first prolang, what comes next?

I heard you should create a portfolio on Github and help with open source projects. Should I learn Scheme then look for open source projects and edit already-existing projects? How would you help, by making the code more efficient?

When should I move on to learning the next prolang? Should I just find any syllabus and follow that? I want to be ahead of the curve and make my coursework easier and to be able to get good grades.

I like to make a strict plan and follow it but I'm not sure how I should for this. Can you help with this?

>> No.7324477

>>7324450
SICP an introductory compsci for somebody who wasn't a retard back then.

It was before CS was vocational training and when other engineers wanted to learn how to use computations. Sure there's Turing and all that crap, but the course in question can be answered by viewing the first SICP video:

https://www.youtube.com/watch?v=2Op3QLzMgSY

It's software engineering, at its finest it ever was.

>> No.7324517

>>7324450
I met Matt at a symposium a while back. He was cool as hell. I didn't even realize who he was until after I left.

>> No.7324523

Racket/Lisp is a meme language and you're a dumb faggot.

Also this is all nearly pointless and never used in the real world.

>> No.7324525

>>7324523
thank mr java

>> No.7324540

>>7324525
KEK

>> No.7325511

>>7324523
What about scala?.

>> No.7325656

what do CS majors think about c++?

Im learning for a project im working on, because muh inheritance, however I dont care about becoming a pro programmer or architect so Im keeping at least on eye closed towards general/degree level structure design and associated misc.

>> No.7325684

The list is a good start, but unfortunately the recommended books are frankly a bit on the sparse side. Here's a more complete list of books you need to read:

A First Course in Logic: An Introduction to Model Theory, Proof Theory, Computability, and Complexity
Advanced Compiler Design and Implementation
Algorithm Design
Algorithms
Algorithms + Data Structures = Programs
Automata and computability
Compilers: Principles, Techniques and Tools
Computability
Computability and Logic
Computability and Unsolvability
Computability, complexity and languages
Computability: an introduction to recursive function theory
Computational Beauty of Nature
Computational complexity
Computational Complexity - A Modern Approach
Concrete Mathematics: A Foundation for Computer Science
Convex Optimization Theory
Discrete mathematics
Elements of the Theory of Computation
Graphs, Dioids and Semirings – New Models and Algorithms
Handbook of Logic in Computer Science
How to prove it: a structured approach
Introduction to Algorithms
Introduction to Automata Theory, Languages, and Computation
Introduction to the Theory of Computation
Lambda-calculus and combinators, an introduction
Mathematical logic for computer science
Mathematics for computer science
Meaning in Language
Modern Operating Systems
New Turing Omnibus
Queueing systems
Speech and language processing
Structure and Interpretation of Computer Programs
The Algorithm Design Manual
The Annotated Turing
The Art of Computer Programming
The art of computer systems performance analysis
The Nature of Computation
Types and programming languages

>> No.7325698

>>7325656
I like the language and it's std since it makes my fucking life so much easier. However, once you start using templates, containers and windows.h functions the code will look like cryptic messages from space. But generally, I recommend C++ since it can do everything C can plus more.

>> No.7325756

>>7325684
Holy shit, what a waste of time. So much overlap.

>> No.7325772

>>7325698
>do everything C can plus more.
I think you mean it can do everything C can plus plus more.

>> No.7325775
File: 884 KB, 1687x867, you cant escape this madness.png [View same] [iqdb] [saucenao] [google]
7325775

>>7325772
Oh you.

>> No.7325787

>>7325698
False. C++ is not a direct superset of C.

>> No.7325794

>>7325787
It can do everything C can, so C++ is, in fact, a superset of C.

>> No.7325795

>>7325787
they're both turing-complete, faggot

>> No.7325799

>>7325772
says the guy who thinks C is obsolete with the existence of Cpp

>> No.7325834

how about some book recommendations for program design / working well with c++?

project Im working is using a large amount of inheritance

>> No.7325838

>>7325794
Not everything. There's like one or two features from C that didn't make it into C++.

>> No.7325847

>>7325838
Because they were either replaced or completely dismissed for being a security risk.