HNHacker News
TopNewBestAskShowJobs

debanjan16

1,877 karma · joined February 26, 2022

submissionscomments
debanjan16··on Tell HN: UC Berkeley's CS61A/B/C are the best courses to learn CS and coding
Different things workout for different people. I was overwhelmed by so many ways to do things in Python and everybody teaching their own favourite way of doing things. Similarly, all I was learning was the syntax and no problem solving skills.

Then I cam across the book How to Design Programs aka HTDP. I was skeptical at first. But I eventually started and worked through the second edition of the book available freely at https://www.htdp.org .

It was so beautiful. The teaching languages and writing examples before writing code. It made me really understand programming.

Now I can pick up any language (not that I become a language expert overnight) in a short time. I only need to map the concepts to this new language. And that's that. I can even pattern match my ideas from higher order functions to imperative looping constructs.

I have another book in to TDR list. It is Norvig's Paradigms of Artificial Intelligence Programming.

debanjan16··on Data-Oriented Design (2018)
Can you elaborate a bit more on the reason?
debanjan16··on Data-Oriented Design (2018)
Even beginners can learn to program in a data oriented way from the beginning.

Two books that teach this style of programming to beginners are:

1. How to Design Programs - https://htdp.org/

2. A Data-Centric Introduction to Computing - https://dcic-world.org/

debanjan16··on Semantic compression (2014)
The book utilises a series of Scheme based teaching languages to teach about how to write functions for increasingly complicated data types. The language levels produce meaningful error messages for programmers of that particular level and goes on adding language features as you progress through the book.

The book furthermore teaches a design recipe which comes in handy when you are stuck with a problem. Basically it teaches you to write examples first so that you understand the problem instead of jumping onto the editor to write code first. The examples help you structure your data. The rest of the code follows from it.

debanjan16··on Semantic compression (2014)
I was actually in the school of thought that this article describes until I read and worked through the book How to Design Programs [0]. The rest is upto you to judge.

[0] https://htdp.org/

Edit: I would love others, who have read the above mentioned book, to weigh in with your anecdotes.

debanjan16··on Ask HN: What are the best MOOCs you've taken (2023)?
Link added: https://www.coursera.org/learn/statistical-mechanics
debanjan16··on Ask HN: Which book/course made you fall in love with your favorite subject?
Not my favorite subject to be exact. But Probability really clicked for me after reading Probability Theory: The Logic of Science by E.T. Jaynes.
debanjan16··on Teach yourself Computer Science functionally
Keep us posted about the lectures. I don't find a personal website of you. Then I would have bookmarked it.

There are so many awesome lectures from other CMU courses like Andy Pavlo's Database, Keenan Crane's Graphics courses.

I so hope CMU records their intro courses and put them out in public.

debanjan16··on Teach yourself Computer Science functionally
Btw, Brandon, I hope you archive your version of the course materials somewhere as they are really as good as the notes, someplaces, even better. All previous versions of 15-150 are basically non-existent.
debanjan16··on Teach yourself Computer Science functionally
Ah! Thanks for the detailed reply. It is so good to hear from someone who have passionately benefitted from their undergraduate courses and gets to use knowledge from that in real life.

Btw with 15-150 notes and slides do you have any book suggestion in mind that self learners can read alongside?

Note:- There are some leaked lectures from Brown's CS019, if you want to look, here: https://learnaifromscratch.github.io/software.html#org464eb9...

debanjan16··on Teach yourself Computer Science functionally
Since, you are the instructor for 15-150 this semester and have graduated from CMU as per the slides. I would like to know what you think about similar intro course sequences elsewhere.

Like BrownU's CS019 course using Pyret. It also teaches a functional approach to programming.

Also Berkeley's CS61A,B,C trilogy.

Do intro level courses matter in the long run? Or is it the higher level courses that set apart universities in undergrad CS education?

debanjan16··on How to Design Programs 2e (2023)
Why is this awesome book posted again today? (I have no problem though). Even if one person is benefitted from it, the post is worth it.
debanjan16··on Ask HN: Which books are best written for self study on any topic?
How to Design Programs by Felleisen et al.

A breath of fresh air among all the trash introductory programming courses/books that teach nothing but syntax of a trendy language with little to no transferrable skills.

debanjan16··on A Data-Centric Introduction to Computing
Apart from the font, all your questions are answered in the book's introduction. And this is still a work in progress.
debanjan16··on Ask HN: Learning to program from books a bygone era?
I did.

I used the book How to Design Programs to learn programming in a clean and functional way. I had to find the textbook that clicked for me.

debanjan16··on Purely Functional Data Structures (1996) [pdf]
Do JAX and functorch have the same level of builtin functionalities (operations) as the original Pytorch library?

Where to learn about it other than the documentation?

debanjan16··on Purely Functional Data Structures (1996) [pdf]
Thanks for pointing it out. I totally missed it. Sorry.
debanjan16··on Introduction to Algorithms: A Creative Approach by Udi Manber [pdf]
Students learning Algorithms for the first time should never touch CLRS. It is the worst thing that a beginner can pick up. It is good as a reference text.

Beginners should start with this. This book "actually" teaches you how algorithms are designed and how to break down problems into chunks and solve them using induction/recursion.

Your mind will just be blown.

debanjan16··on Ask HN: What are the most eye-opening textbooks you have ever read?
Spivak is single variable calculus only, right? What did you use for multivariable calculus?
debanjan16··on Ask HN: Do most schools teach programming the wrong way?
You are quite right. You can also find the book PLAI by one of the authors of HtDP, Shriram Krishnamurthi. The way he teaches programming languages is eye opening too.

I looked at CMU's curriculum once. The first course they take is based on a language called C0 which is a safe version of C. But the amount of syntax and memory handling you had to learn in a first course was intimidating. The main concepts remained in the background. Although I am not sure how it happens in the actual class. But the number 1 contender amongst CS schools shouldn't let their freshmen go through such hellhole.

debanjan16··on Ask HN: Which is the most useful CS/math topic that you have learnt?
Some books on the topics will be highly appreciated by everyone!
debanjan16··on Ask HN: Which is the most useful CS/math topic that you have learnt?
HtDP was my first step towards functional programming. I don't use it extensively. But now I am careful about writing mutation wherever possible.
debanjan16··on Ask HN: Which is the most useful CS/math topic that you have learnt?
It may seem a bit naive. But the ability to write correct functions is what made my code easier to write. And I learnt that from the book How to Design Programs.

Thinking in functions have made my life easier in programming, at least.

debanjan16··on Ask HN: Make someone interested about your field with only one book?
An Infinite Descent into Pure Mathematics by Clive Newstead : https://infinitedescent.xyz/

to get into proof based college mathematics.

debanjan16··on Ask HN: What was the most confidence building moment for you as a programmer?
For me it was the first time I learnt functional programming in Lisp using Peter Norvig's book called Paradigms of Artificial Intelligence Programming[0].

[0]https://github.com/norvig/paip-lisp

debanjan16··on Ask HN: Best book to introduce subject X to someone for the first time?
I never loved biology in school. Then I came across this post: https://jsomers.net/i-should-have-loved-biology/

Then I read Machinery of Life by David S. Goodsell https://www.goodreads.com/en/book/show/6601267

I was just plain amazed that a subject can be presented in such a way.

debanjan16··on Ask HN: Suggest some of the best books in field XYZ for self study
For mathematics:

1. Spivak's Calculus

2. Vector Calculus, Linear Algebra, and Differential Forms: A Unified Approach by Hubbard and Hubbard

debanjan16··on Advanced Compilers: Self-Guided Online Course
Another resource great for understanding how programming languages work is:

https://www.plai.org/

debanjan16··on Ask HN: Which courses (online or not) have had the greatest impact on you?
Which book was used?
debanjan16··on Ask HN: Math books that made you significantly better at math?
Can you mention some books of this type?
Page 1 of 3Next →