arisuchan    [ tech / cult / art ]   [ λ / Δ ]   [ psy ]   [ ru ]   [ random ]   [ meta ]   [ all ]    info / stickers     temporarily disabledtemporarily disabled

/λ/ - programming

structure and interpretation of computer programs.
Name
Email
Subject
Comment

formatting options

File
Password (For file deletion.)

Help me fix this shit. https://legacy.arisuchan.jp/q/res/2703.html#2703

Kalyx ######


File: 1535726245951-0.jpg (185.06 KB, 445x484, IMG_20180831_163101.jpg)

 No.1332

I've got 3 and a half years (7 Semesters) to teach myself everything someome coming out of a CompSci Bachelors education should know (takes 6 Semesters in my country).

I have already started SICP and am fluent in functional, OOP and systems programming languages. I have contributed to FLOSS projects and the like, I swear I am not just LARPing. I read through what the Uni in my country teaches, and I already have a firm grasp on the less than theoretical side of things, but when it comes to analysis, proofs and the like, I don't even understand half of what is required of me. Any lainer got textbooks to recommend? Anything really, I'd be very grateful for. I know this board is not really the right place to start, but I'll be damned if Alice doesn't have a CompSci degree.

 No.1333

>>1332
Concrete mathematics by Knuth has you covered in all major situations during study except for maybe relational computation and algebra (which is retarded af, dont even bother to understand it unless you really plan to dig into db life).

 No.1334

>>1333
Relational algebra smells a lot like advanced set and category theory in my opinion. I will definitively work through the book you recommended, thanks!

 No.1335

>>1334
curious how you are doing on that Knuth book

 No.1336

Hm… I have finished my Barchelors this year. I can provide you with stuff if you wish. I think its not legal to leak any lectures, slides whatever from the college.

Don't even worry that much about theoretical stuff. The point of programming is not the theory or how much you score on quizes, and bullsoykaf assignments, but how many projects and problems you can solve.

Show these projects in your CV and you have an even stronger footing if you want to be employed in the comp sci industry. This comes from personal experience, start finding problems around you and work to fix them (sometimes not even by coding [implementing], but by designing a solution).

 No.1344

There are many "Intro to Mathematical Proof" texts which cover mostly the same ground in mostly the same way so pick one that leans on combinatorial topics.

+1 for Concrete Mathematics.

You'll need some data structures/algorithms, and formal languages/automata stuff.

CLRS is the goto data structures/algorithms text but it's over 1000 pages so hunt around for a course plan based on the text.

I guess Intro. to Automata Theory, Languages, and Computation by Hopcroft et al. is the big automata text. Be warned it is heavy on the mathematics.

you don't need this and you are more likely to see it in an SE course but Concepts, Techniques, and Models of Computer Programming by Van Roy & Haridi is a good pragmatic overview of programming and design in general. It's also 900 something pages lol.

If you want a compilers text I recommend Programming Language Pragmatics by Scott. Really good introductory overview and good examples.



Finally, since we're talking about books, my favourite is Compiling with Continuations by Appel.

 No.1374

Young friend, it's impossible to <<know pr0gramming>>, since there are too many different topics. Would you like to programm cars? Nah, you don't. Embedded a soykaf.

Rather try to become specialized and excell at a specific field which is fun for you.

What is fun?
Maybe take one year off to dig into web stuff.
Work your way down from HTML, CSS and JS to actually READING a few (internet-related) RFCs.Then learn some basics about servers and security (actually deploying a website and playing arroud with things like firewalls is good fun). And get into networking, at least some basics. Maybe read the first chapters from some CCNA training manual.

After that dig into Databases, Databases are underrated!
First the usual entry stuff (SQL basics, normal forms) and then I highly recommend:
"SQL Antipatterns" by B. Karwin


You can never go wrong with web stuff and databases and networking security.
Becoming decent in security is insane, but basics are mandatory.
Also security is so much fun, even the basics.

 No.1392

>>1332
A decent list for compilers and type systems:
Category Theory by Awodey (or Category theory for Programmers by Bartosz Milewski)
Compiling with Continuations by Appel
Types and Programming Languages and Advanced Topics in Types and Programming Languages by Pierce
Functional Programming Through Lambda Calculus by Michaelson
Implementing Functional Languages by Simon Peyton Jones

Category Theory is useful for almost all languages thus a valuable design tool to have around.

 No.1398

>>1392
>Category Theory is useful for almost all languages
why?

learn Category theory as you need it, in a vacuum it is completely useless. what you will likely find happening is that you stumble onto basic categorical concepts as you program (in a strongly typed functional language) and backtrack to the theory as you level up with the abstractions that you encounter.

>Functional Programming Through Lambda Calculus by Michaelson

is the only book on your list that wouldn't completely overwhelm an undergrad level student. All the others should be avoided until you have the required maths background. Another exception being Compiling with Continuations, avoid this altogether. If I can be bothered then I'll post some compiler papers/texts for anyone interested.

The Little Typer by Friedman & Christiansen, recently released, is a very friendly introduction to many basic concepts in type theory minus the usual prerequisite mathenese.

 No.1458

>>1392

A bachelors program typically might touch on a few of the topics you list here briefly. But really all of this is graduate level stuff and above that isn't going to be very useful unless this person is extremely interested in compiler design and theory.

>>1398
Category theory is as useful for learning functional programming languages as reading about design patterns are for learning object oriented languages. It is something that they could read alongside learning something like haskell and get a lot out of I'd argue.

 No.1461




[Return] [Go to top] [ Catalog ] [Post a Reply]
Delete Post [ ]