News for hackers. Stuff that matters.

debanjan16

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.

Re:Data-Oriented Design on Monday July 03, 2023 @01:01PM (#36575778)
Can you elaborate a bit more on the reason?
Re:Data-Oriented Design on Monday July 03, 2023 @10:33AM (#36573469)
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/

Re:How to write good code easily with semantic compression on Saturday June 24, 2023 @11:27AM (#36459497)
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.

Re:How to write good code easily with semantic compression on Saturday June 24, 2023 @09:03AM (#36458359)
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/

Ask HN: Materials to learn machine learning and deep learning in 2023?

The materials may include courses, tutorials, books, etc.The topics can include:1. Data pre-processing2. Library specific tutorials (e.g. PyTorch, MxNet, scikit-learn, etc)3. Building things from scratch (using numpy, scipy, vanilla python, etc)4. Foundations and theory behind the popular algorithms5. Applications like Computer Vision, NLP, etc.6. How to read and implement research papers.7....

( Read More... | 1 comment | 2 points | on HN )
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.
Re:Teach yourself Computer Science functionally on Wednesday June 14, 2023 @03:12AM (#36322508)
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.

Re:Teach yourself Computer Science functionally on Wednesday June 14, 2023 @02:30AM (#36322175)
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.
Re:Teach yourself Computer Science functionally on Wednesday June 14, 2023 @02:20AM (#36322104)
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...

Re:Teach yourself Computer Science functionally on Wednesday June 14, 2023 @12:50AM (#36321579)
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?

Ask HN: What makes game developers such programmers?

I have observed that no problem seems unsolvable for game developers. You throw a complicated problem at them, they will create a solution (in whatever way) and make the thing work. The first solution is not always the most efficient one.How is that tremendous power gained?Also so much have come out of the game development world like Perlin noise for terrain generation, fast inverse square...

( Read More... | 3 comments | on HN )
Re:How to Design Programs 2e (2023) on Tuesday June 06, 2023 @01:19PM (#36216082)
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.
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.

Re:A Data-Centric Introduction to Computing on Saturday June 03, 2023 @09:33AM (#36176551)
Apart from the font, all your questions are answered in the book's introduction. And this is still a work in progress.

Ask HN: How are engineering minds like Jeff Dean, Torvalds, Wozniak created?

This is not a post/rant about dropping out of college. Infact Jeff Dean, Torvalds all went to college/grad school.But what I am specifically talking about is their capabilites as engineers. They are not mere scientists who prove something or theorise about something or solve an algorithmic problem. They of course do that but they do much more. They assemble things in correct order. Not just...

( Read More... | 14 comments | 4 points | on HN )
Re:Ask HN: Learning to program from books a bygone era? on Friday June 02, 2023 @02:48AM (#36161880)
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.

Ask HN: Has anyone implemented Derek Siver's approach of no speed limit?

The link to the post: https://sive.rs/kimo.Has anyone successfully implemented this method to learn something in a short span of time than was meant to be completed?Like coasting through courses, books, tutorials on whichever subject you were studying.If you remember the materials and strategies you used to achieve this feat can you share that experience with us?

( Read More... | 3 comments | on HN )
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?

Thanks for pointing it out. I totally missed it. Sorry.
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.

Older »