What are some good books that rigorously approach the theory of computer...

BinaryMan
BinaryMan

What are some good books that rigorously approach the theory of computer science from a heavy mathematical perspective?

All urls found in this thread:
http://cs.brown.edu/~jes/book/)
http://4chan-science.wikia.com/wiki/Computer_Science_and_Engineering
https://www.youtube.com/watch?v=YnWhqhNdYyk
http://cryptopals.com/
https://www.youtube.com/watch?v=l1FCXUi6Vlw
https://www.youtube.com/watch?v=I8LbkfSSR58&list=PLbgaMIhjbmEnaH_LTkxLI7FMa2HsnawM_
Ignoramus
Ignoramus

@BinaryMan
SICP

Fuck off to /g/ with your high school level shit.

Nude_Bikergirl
Nude_Bikergirl

@Ignoramus
shitting os sicp
c++ as a first language
Low effort

Booteefool
Booteefool

@Ignoramus

I'm a maths major. Look to get into theory of CS. Don't know any other book but SICP since it's a meme.

King_Martha
King_Martha

@Nude_Bikergirl
sicp is a high school level book consisting of a superficial survey.
C++ is a perfectly good first language that many universities use.

Take your /g/ memes back to the /g/catalog#s=hetto

girlDog
girlDog

@BinaryMan
definetly not SICP, it has zero (0) math in it.
Also it is outdated, use How To Design Programs instead.

For the mathematics part I guess concrete mathematics would be a good start, but anyway why would you want to learn it? I have been coding for scientific computing for years and I have been okay without it. Honestly if all you are going to do is implement PDE and ODE solvers then going full CS is overkill. Learn some software engineering if you wanna do good progrmas (again HTDP). Even ML and genetic algorithms, reduced order models and other cool stuff is better suited for mathematicians than CSfags.

CS is only needed for the soul-draining jobs at software engineering like how to improve in 0.00001 seconds the access to a server query. And since we are in Veeky Forums and not /g/ you should not be concerned with that stuff.

w8t4u
w8t4u

@Booteefool
Bottom up approach: Models of Computation: Exploring the Power of Computing by John Savage (free: http://cs.brown.edu/~jes/book/)
Top down approach: Computability, Complexity, and Languages: Fundamentals of Theoretical Computer Science by Martin Davis, Ron Sigal, and Elaine Weyuker

Check the wikia for other topics:
http://4chan-science.wikia.com/wiki/Computer_Science_and_Engineering

Methshot
Methshot

@King_Martha
that many universities use.
Yeah, and even more schools use java or python as their first language, that doesn't make those less shit.
C++ is a very good and powerful language, but it's way too complex for a beginner who never programmed before.
The natural progression sis c->c++->some functional lang

Ignoramus
Ignoramus

@Methshot
https://www.youtube.com/watch?v=YnWhqhNdYyk

Illusionz
Illusionz

@BinaryMan
a heavy mathematical perspective?

http://cryptopals.com/
Set 8 in particular.

Garbage Can Lid
Garbage Can Lid

@Ignoramus
you literally just have to listen 20 seconds
I have no problem with people teaching intro to c
what she is talking about is people teaching c as the beginning of a c++ course

King_Martha
King_Martha

@Boy_vs_Girl
learning c as your first language
vs
learning some c just so you can learn c++ afterwards
these are very different

farquit
farquit

@King_Martha
The natural progression sis c->c++

happy_sad
happy_sad

OP asks about math
Thread instantly devolves into MUH LANGUAGES DURURURURUR
Why isn't CS shit banned from Veeky Forums.

massdebater
massdebater

@farquit
yes, in a uni setting
first semester c
second semester c++
but you don't learn c as an intro to c++, you learn c bc it's a simple language, you can concentrate on learning about loops an functions and other fundamental programming concepts, instead of worrying about namesapces, the rule of 5, operator overloading, etc...
and it's easy to implement the most important data structures and algorithms by yourself

Burnblaze
Burnblaze

@massdebater
yes, in a uni setting
first semester c
second semester c++

Only in clown colleges that teach code monkeying over a dozen of courses.

First semester: Programming in C++
Second semester: Data structures and Algorithms in C++
Third semester: System Programming + Networking + legacy C needed along the way
Third semester: Computer Architecture + AMD64 crash course (or MIPS or ARM if using P&H)
Fourth semester: Paradigms crash course - scripting(python), logical(prolog), functional(racket), stack(forth), and array(J)

After that, there is no more focus on coding.

namesapces, the rule of 5, operator overloading, etc

You don't have to use them if you don't want to, you fucking autist.

and it's easy to implement the most important data structures and algorithms by yourself

Even easier with C++.

Evilember
Evilember

@w8t4u
CHOKE ME SCIENCE DADDY

VisualMaster
VisualMaster

@Burnblaze
top down teaching
disgusting
You don't have to use them if you don't want to
but then you are not teaching c++, but c witch funky structs which makes no sense
Even easier with C++.
easier after you learn about smart pointers and other stuff
but much simpler in c

also stop with the reddit spacing please, it's horrible to read

New_Cliche
New_Cliche

@BinaryMan
lambda calculus, category theory, functional programming

takes2long
takes2long

@New_Cliche
https://www.youtube.com/watch?v=l1FCXUi6Vlw

https://www.youtube.com/watch?v=I8LbkfSSR58&list=PLbgaMIhjbmEnaH_LTkxLI7FMa2HsnawM_

massdebater
massdebater

@girlDog
Seriously it's a garbage book with one only theory. They have a updated python version but it's still only theory that's common sense

Skullbone
Skullbone

@Burnblaze
@VisualMaster
I don't think this really matters. Anyone using C++ in first semester is essentially coding in C equipped with cin/cout. Using templates, smart pointers, and more advanced features only comes later.

TurtleCat
TurtleCat

@Ignoramus
What's wrong with Sisper's theory of computation book?

Bidwell
Bidwell

@w8t4u
Good books
@BinaryMan
Logical Foundations for Mathematics and Computational Complexity (best book I ever pirated)
Analysis of Boolean Functions
Stasys Jukna's (sp?) book

BONUS: Gems of theoretical computer science

hairygrape
hairygrape

@BinaryMan
language wars
please take this to /g/
also, SICP is good but it's far from being mathematically heavy, I have no idea how bad you have to be at math to think so

Ignoramus
Ignoramus

@VisualMaster
also stop with the reddit spacing please, it's horrible to read

It's not reddit spacing retard, it's paragraphing. Redditers, twatters, and phoneposting cancer tend to post everything in one ugly block. Look through any thread from 10 years ago, it's how everyone always has posted.

top down teaching
disgusting

C is not "low level coding with portable assembly". Stop believing everything you read on /g/.

but then you are not teaching c++

You don't have to use everything in C++. Stop being so autistically triggered by having multiple ways of doing things.

easier after you learn about smart pointers and other stuff

You don't transfer ownership to an algorithm so you should just pass the raw pointer. For basic data structures like list, trees, etc; you shouldn't need smart pointers as allocation should only happen in the add/delete operations.

Bidwell
Bidwell

@TurtleCat
It's 9th grade level material. Way too easy and slow pace when students get to it.
"Proof sketch" and "Proof" were often times just the proof in words and the proof in symbols. This early on gives a false impression that proofs in words like "for all" is somehow less rigorous than using "∀". In the latter part of the book, the actual proof spanned the proof sketch (where things are defined) and proof (where they are used) making reading them unnecessarily awkward. Presenting the core idea behind the proof is a good idea but the author screwed the pooch trying to implement it.
The last chapter should have been expanded into full chapters on each topic covered.
And way too expensive for what little it does.

kizzmybutt
kizzmybutt

@King_Martha
why the fuck would u even teach C to someone who knows no programming????
pick Java or Python or something

RavySnake
RavySnake

@kizzmybutt
I never understood why people think that learning C as a first language is a bad idea. I learned C as a first language, I would say that it's a pretty basic language and just makes sense. I'm by no means a professional programmer or computer scientist but I feel that learning a language like Python first would put you at a disadvantage if you looking learn about computing.

Of course though, Python is a very useful language and has many pragmatic applications.

eGremlin
eGremlin

@RavySnake
I don't understand why people get so worked up over which language you pick first. Jesus christ it's programming it's not rocket science, C, C++, python, who cares? Calculus, linalg, analysis are a million times harder than deep diving into C++ as your first language, so who the fuck cares?

PurpleCharger
PurpleCharger

@eGremlin
This

lostmypassword
lostmypassword

>>9431956

It just makes life nicer.

c++ data struct

template<typename T> class list{
struct node{
node * next;
T item;
node(T item, node* next) : item(item), next(next) {}
node(T item) : item(item), next(nullptr) {}
};
node * first, last;
...
public:
void add(T item){
if(!first) first = last = new node(item);
else
last = last->next = new node(item);
}
list() : first(nullptr), last(nullptr) {}
~list(){ ... }
}
...
};

c data struct

struct list{
struct node{
node * next;
void* item; // must remember what the fuck you placed in here yourself
};
node * first, last;
...
void add(void* item){
if(!first) first = last = malloc(sizeof(node));
else
last = last->next = malloc(sizeof(node));

last->item = item;
last->next = 0; // 50% of students will forget it when writing it
}
void init(){ //must be called by programmer (and he will forget)
first = last = 0;
}
void destruct(){ //must be called by programmer and he WILL forget leading to memory leaks
...
}
...
};

c++ numerical algorithm

const extended_float<256> G = ....;
...
auto force_gravity = G * particle[1].mass * particle[2].mass / ( (particle[1].location_vec - particle[2].location_vec)^2 )

c numerical algorithm

#define GRAVITATIONAL_CONSTANT = (extended_float_256) ....
...
extended_float_256 force_gravity = extended_float_256_div(extended_float_256_mult(extended_float_256_mult(GRAVITATIONAL_CONSTANT, particle[1].mass), particle[2].mass), extended_float_256_add( extended_float_256_add(extended_float_256_sqr(extended_float_256_sub(particle[1].location.x, particle[2].location.x)), extended_float_256_sqr(extended_float_256_sub(particle[1].location.y, particle[2].location.y ))), extended_float_256_sqr(extended_float_256_sub(particle[1].location.z, particle[2].location.z ))));

Poker_Star
Poker_Star

@kizzmybutt
pick Java

/g/catalog#s=et the fuck out and stay out

girlDog
girlDog

@BinaryMan
computer science
math related
Nice meme

farquit
farquit

@Ignoramus
Used Susan S Epps discrete maths book
Learned precisely fuckall in the class
This checks out.

w8t4u
w8t4u

@kizzmybutt
Because C teaches you programming, you tard. Java makes you jump over a bunch of nonsensical hurdles and chew through OOP at the same time, and Python is a bad language to learn first flat out.

kizzmybutt
kizzmybutt

@lostmypassword
Your C struct is suboptimal.

StrangeWizard
StrangeWizard

@kizzmybutt
How so?

Methshot
Methshot

@VisualMaster
top down teaching
disgusting

Only CpEs and EEs care about digital logic

Disable AdBlock to view this page

Disable AdBlock to view this page