[ art / civ / cult / cyb / diy / drg / feels / layer / lit / λ / q / r / sci / sec / tech / w / zzz ] archive provided by lainchan.jp

lainchan archive - /λ/ - 18319

File: 1472603147867.png (535.48 KB, 300x240, 1470853985458.jpg)


i've been looking for some updated, recent, reliable resources that would offer an organized courseload for someone who was pursuing an online degree.

i don't know if any lains who are great programmers wouldn't mind trying to make a lain-list for computer science, in particular for a lain university.


i found this comp-sci degree list where they organized all of the courses and resources in a fashion that seemed logical and helpful. any lains that wouldn't mind suggesting any actual courses that are relevant to it, perhaps i can try to make a master list for the wiki?


is there something like the op posted but for robotics?


I'm doing exactly that right now, i'm following MIT's curriculum. I made the curriculum using this page
The courses can be found here

There are also other resources you could look for like Coursera, Edx etc..

This guy made a pretty neat list



Holy fucking shit, what in the name of baby satan is going on at harvard? The class isn't bad, but the amount of bullshit is ludicrous.



i looked into coursera, but there was a purge of a lot of courses/classes about 6-8 months ago where they dumped a lot of great classes. udacity doesn't seem to be very vigorous, and while i'd like to think the MITopencourseware is a great thing -- i am sure there's a lot more holes to it which may need to be supplemental to other classes.

i am unaware of edx or worked with edx. are there other resources out there that could cushion a lot of the education rather than relying on one singular course resource?


Well, OP's link seems pretty round up for me.


I think this thread would be appropriate to post this, instead of the sticky.

I'm doing the first course, i reached vigenère's cipher exercise, i finished it, it's working but there's one problem, my string is 6 characters larger than it should be, sometimes i'll get trash in those 6 positions, sometimes nothing. I can't really figure it out what's happening.

int length = strlen(message);
char cryptoMsg[length];

int test = strlen(cryptoMsg);
int test2 = strlen(message);
printf("%i\n%i\n", test, test2);
//prints 4 and 32, instead of 32 and 32

After analysis, this is where the problem begins. Shouldn't char cryptoMsg[strlen(message)] be the same size of message? I even tried assigning test = strlen(message) only then doing char cryptoMsg[test], but the problem remains the same.

The output of the program is flawless, except for a few garbage values at the end, for example "Output~4+", the ~4+ shouldn't be there.

Can anyone give me a hand on why this is happening?


Strings in C are null terminated. If there's no zero byte at the end of your cryptoMsg, it won't know that it has ended.


Oh, i forgot that, thanks a lot. Assignments should be done as follows then, correct?

char cyptoMsg[strlen(message)];
cryptoMsg[strlen(cryptoMsg)] = '/0';


ops, i meant strlen(message)+1.


strlen looks for the null terminator, so you can't use it to find where one should be. Also, arrays are indexed from zero, so strlen(s) is where the null terminator is, not strlen(s)+1


File: 1473168045594-0.png (164.66 KB, 200x123, Screenshot_20160906_080313.png)

File: 1473168045594-1.png (52.11 KB, 200x113, mpv-shot0002.jpg)

Looks like they are trying to make their classes more like TED talks. Corporate bull soykaf bleeding into academia.

The only good programming course on Coursera is the ProgFun1 Scala course, which is little more than SICP in Scala. There are others that cover more advanced topics but the are usually nothing more than a professor talking into a camera half the time and the other half he's referring to a plain black and white power point.



Honestly the Intro to Computer Science felt like it was a millenial self-help seminar with the rando mac books and motivational quotes. I had no idea that programming was about finding yourself and Apple products.

Aside from that annoying part (along with puppets for whatever the reason), a lot of it is informative although delivered in a too neatly tight package. A lot of the classes require supplemental reading which the MIT challenge does provide and the classes themselves offer a booklist.


>there was a purge of a lot of courses/classes about 6-8 months ago where they dumped a lot of great classes

Is there a list of classes which were dropped?



It didn't actually happen like that. Here's a list https://www.class-central.com/collection/coursera-old-stack-all but most of the classes weren't dropped, and weren't going to be. They were just being moved to the new platform.


What's wrong with CS50? The content is fine for an intro class (it in fact covers more than what I did in my uni's intro class despite being in the top 10 in my country's ranking).
I wish I had a class this fun instead of having a teacher trying to fuarrrk us around each corner on the tests about pointers, malloc & free and other C delicate points.

What is the bullsoykaf mentioned in your post?


Oh i loved CS50 don't get me wrong. It's a great resource and one of the best introductions to CS.

The bullsoykaf is the whole "howdy, fellow kids" vibe that the course has, as if it was a new season of X factor or something, you know? Also they have a DJ straight out of jersey shore at the end of classes. That's irritating but completely irrelevant.


File: 1476035674758.png (100.17 KB, 193x200, guidosicp.png)

There is https://github.com/jwasham/google-interview-university.

More seriously, the best is definitively ArsDigita University. It was a complete, compressed to one year, very high quality CS program taught by awards recipient professors.


ADU was a one-year, intensive post-baccalaureate program in Computer Science based on the undergraduate course of study at the Massachusetts Institute of Technology (MIT). The majority of the instructors were professors from MIT and the program was tuition free. After running from September 2000 through July 2001, seeing the first class to graduation, the program was forced to shut down.


Math for Computer Science - Tara Holm
Structure and Interpretation of Computer Programs - Holly Yanco
Discrete Math - Shai Simonson
How Computers Work - Gill Pratt
Object-oriented Program Design - David Goddeau
Algorithms - Shai Simonson
Systems - Luis Rodriguez
Web Applications - Philip Greenspun
Theory of Computation - Shai Simonson
Artificial Intelligence - Patrick Winston
Unix Workshop
Database Management Systems - Ravi Jasuja
Applied Probability - Tina Kapur


much of the ArsDigita videos can be found on youtube

on the ArsDigita website they have a USB link up top where you can buy all the videos for $70


everything is available on this page excepting the videos lecture of Mathematics for Computer Science


special lectures


I have a question about boolean algebra. I'm doing the course NAND to tetris, and one of the exercises is to create other logic gates from a NAND gate (AND, OR, XOR etc..), however i don't yet have the intuition for boolean algebra. None.

My question is, is there an intuition to be developed? Doing this exercise i don't feel like i'm reaching conclusions, just mindlessly trying to make the gates work, but there is no math, i just put things in place and change the order until they work, i don't have a logical path that leads to conclusions.


you develop intuition by smashing your head with the sort of toy problems that you just described.


File: 1476951171874.png (36.71 KB, 200x131, confused.jpg)

>that pic
Oh God is that real. Please tell me that isn't real. Please.



But isn't there an intuitive path behind it? The name "boolean algebra" gives me the idea that i should be able to draw conclusions as i would in algebra, 1+1 = 2. While doing this exercises i feel as if i was trying to do multiplication exercises without first learning how to add, thus it looks clunky, ugly and ineffective.


File: 1476977315226.png (57.13 KB, 192x200, yotsuba-crying-hard.jpeg)

>tfw you realize you live in a world where a highly influential computer scientist isn't elated to get a free copy of SICP
There is a specific reaction image I'm looking for, showing a manga girl with long hair, holding her fists to her temples in stress or despair, but I can't find it, so imagine that's what the image to the left is.


You're not solving for an unknown; you're writing a proof. You're proving that NAND and NOR are functionally complete by using each of them to separately implement AND, OR, and NOT. I doubt you're using the word "intuitive" correctly. If you're asking if there's an algorithm for solving proofs, then no; there isn't. Not one worth doing by hand anyway.


It's called "boolean algebra" because it is an algebra. An algebra is just a collection of symbols and rules for manipulating those symbols. The symbols in boolean algebra are:

- Variables
- True
- False
- OR

From these you can construct other symbols, which you can treat as atomic things:


You can draw conclusions. For example: "True AND True = True".


In Boolean Algebra, you have the following notation:
* = AND
+ = OR
⊕ = XOR

Also, you can put a bar over an expression to mean the negation of that expression, but I can't type that so I'll use '~'

Literally all you have to understand is Demorgan's law.

Remember that NAND is equivalent to:

~(A * B)

By Demorgan's Law, this is also equivalent to:

(~A + ~B)

So, if you put a NOT in front of your inputs to the NAND gate, the NAND gate becomes an OR gate, like so:

NAND = ~(~A * ~B) = (A + B)


Likewise, you can use a NAND gate to make an AND gate by just inverting the output.

Also, remember the Boolean Algebra definition of XOR is:

XOR = (~A * B) + (A * ~B)

Now that you can use a NAND gate to make OR gates and AND gates, you can use those concepts to make an XOR gate.

Oh, and if you need to make a NOT gate, just hook both inputs to the same source. If the input is high, it'll come out as low, if the input is low, it'll come out as high.

Hope this helps, friend.


He probably already owned a copy