structure, class and union

KnightNiwrem

Senior Member
Joined
Jun 1, 2014
Messages
1,057
Reaction score
0
The point is, jump straight to books. Clear enough?

I reiterate - there are those who learn better with audio-visual demonstration; and there are those who learn better by reading. Like some of us here, I fall into the latter category - I learn very quickly by reading.

However, that doesn't mean we should not continue to provide a wide range of resources to cater to those who may be more comfortable with different learning styles from us.
 

*Pickle*

Arch-Supremacy Member
Joined
Aug 18, 2014
Messages
19,117
Reaction score
5
I reiterate - there are those who learn better with audio-visual demonstration; and there are those who learn better by reading. Like some of us here, I fall into the latter category - I learn very quickly by reading.

However, that doesn't mean we should not continue to provide a wide range of resources to cater to those who may be more comfortable with different learning styles from us.

Well if one is uncomfortable learning from books, there's no excuse not to start learning how to appreciate them. Because that's about the only way to obtain comprehensive information.

Lecture notes/handouts/video recordings yadayada…is definitely incomplete. University lectures are more often than not brief, as student at this level are expected to carry out independent study. Why go through the trouble watching those videos and being fed with incomplete info - risking getting yourself conceptually confused - when you could have just gone straight to books?

And for the record, it's not about how quickly you learn - it's where you're learning from that should be of consideration in programming.

PS: Not to mention the pace with which the lectures are structured. I'm not sure about your learning methods when it comes to programming or if you have ever programmed before. But as far as I'm concerned, whenever a new concept is taught I have to get my hands dirty with code straightaway to drill it in. Which means coming up with little problems and applying the concepts.

And in this regard, the video is not going to wait for you to finish doing your thing. Sure, you might say go ahead and pause the video. But what if halfway through you forgot a certain syntax or idea which was taught in the previous few lectures?

Between page flipping/appendix referring vs video switching and pausing, I'm sure the latter is going to bring more unnecesarry frustruation to aspiring learners.
 
Last edited:

invisible.hippo

Arch-Supremacy Member
Joined
Nov 8, 2008
Messages
17,902
Reaction score
315
I swear by O'reilly as well. The quality of the books they publish are mostly consistent and I have nothing but praises for the books I've read so far.

which O'reilly is easy to understand?
c++ primer and The C++ Programming.Language.4th.Edition are too complicated for me to understand
 

*Pickle*

Arch-Supremacy Member
Joined
Aug 18, 2014
Messages
19,117
Reaction score
5
which O'reilly is easy to understand?
c++ primer and The C++ Programming.Language.4th.Edition are too complicated for me to understand

Those two books you have listed are more catered towards intermediate-advanced programmers. You might want to give this book a go, it seems beginner friendly to me (Amazon.com: Sams Teach Yourself C++ in 21 Days (5th Edition) (9780672327117): Jesse Liberty, Bradley L. Jones: Books)

I'm not too familiar with c++ resources so perhaps David could chime in on this as well?
 
Last edited:

davidktw

Arch-Supremacy Member
Joined
Apr 15, 2010
Messages
13,550
Reaction score
1,302
which O'reilly is easy to understand?
c++ primer and The C++ Programming.Language.4th.Edition are too complicated for me to understand

Take a stroll at Kinokuniya and find out of yourself. There are plentiful of C++ beginners books out there. Our styles is not your style.
 

invisible.hippo

Arch-Supremacy Member
Joined
Nov 8, 2008
Messages
17,902
Reaction score
315
Those two books you have listed are more catered towards intermediate-advanced programmers. You might want to give this book a go, it seems beginner friendly to me (Amazon.com: Sams Teach Yourself C++ in 21 Days (5th Edition) (9780672327117): Jesse Liberty, Bradley L. Jones: Books)

I'm not too familiar with c++ resources so perhaps David could chime in on this as well?

is this book comprenshive, im looking for a c++ book that is easy to pick up.however i dont want book that are just short changing the reader.
 

KnightNiwrem

Senior Member
Joined
Jun 1, 2014
Messages
1,057
Reaction score
0
is this book comprenshive, im looking for a c++ book that is easy to pick up.however i dont want book that are just short changing the reader.

It's ok. It's very beginner-ized. Struct and union are not taught; and class will have to wait until around page 137.
 

KnightNiwrem

Senior Member
Joined
Jun 1, 2014
Messages
1,057
Reaction score
0
Well if one is uncomfortable learning from books, there's no excuse not to start learning how to appreciate them. Because that's about the only way to obtain comprehensive information.

Lecture notes/handouts/video recordings yadayada…is definitely incomplete. University lectures are more often than not brief, as student at this level are expected to carry out independent study. Why go through the trouble watching those videos and being fed with incomplete info - risking getting yourself conceptually confused - when you could have just gone straight to books?

That's just sad. The concept of completeness in books, videos or handouts, are just laughable at best. Computer science is way too broad and in-depth for any one source to be "complete".

If books were "about the only way to obtain comprehensive information", then for what reasons do we research into other forms and methods of exchanging information (multimedia)?

Sometimes, a picture is worth a thousand words; and an animation - much much more. Could you comprehensively describe a famous work of art, or a famous movie with text and simple diagrams alone (as would be the case in a book)? Even if you tried, it is more than likely that you would have missed many information - or that it is so verbose (which is exceptionally tiring for the reader and writer) that is is no longer a feasible idea.

Even better, EdX courses like CS50 (Introduction to Computer Science 1 by David at Harvard) have forums with which online students may converse with on-campus professors and TAs to clear their doubts in real-time. Technology has just become that much better at bettering our educational progress.

Now, I do not mean to say that he should not ever try to learn to appreciate books - but that, he can do at his leisure. They are separate goals, and we must be clear, which, are we trying to achieve.

Furthermore, it is highly unlikely for anyone to become conceptually confused if they are following an accredited source of information, whether than be a good book, or webcast lectures from a good university. In both cases, we agree that they should be authorities in the pedagogy of Computer Science.

And for the record, it's not about how quickly you learn - it's where you're learning from that should be of consideration in programming.

Indeed! And I would like to suggest that, both, good university lectures and well-written books are both credible sources of information - most likely well-designed such that the student is guided to learning to concepts correctly and effectively.

PS: Not to mention the pace with which the lectures are structured. I'm not sure about your learning methods when it comes to programming or if you have ever programmed before. But as far as I'm concerned, whenever a new concept is taught I have to get my hands dirty with code straightaway to drill it in. Which means coming up with little problems and applying the concepts.

I'm a Computer Science Major. :o:(

We're different (both in person, and in learning styles). I rarely find the need to "get my hands dirty coding" to understand and remember a new Computer Science concept. In my case, I believe it is much better to distill out the useful takeaways from the concept - and then implement it around that concept.

At higher level computing, more often than not, one has to modify and apply the concept (as my professor would say, "in a twisted way") to solve computing problems in the real world.

And in this regard, the video is not going to wait for you to finish doing your thing. Sure, you might say go ahead and pause the video. But what if halfway through you forgot a certain syntax or idea which was taught in the previous few lectures?

Between page flipping/appendix referring vs video switching and pausing, I'm sure the latter is going to bring more unnecesarry frustruation to aspiring learners.

That's just silly. These are university webcasts. Why would there even be a "need" to switch videos halfway through? I can't imagine the professor saying "Students, we'll take a 10 minutes break now. You need to watch this video - the link is on the slide here - as this is part of our course material. If you haven't turned on your laptop, it is a good time to do it now".

If any professor pulls that one of my. I'll be like :s22::s22::s22:.

As for video pausing, it is about the same as doing a bookmark (in my case, I have enough "head" memory to simply memorise the page number I stopped at). If you forgot some syntax (which should really be the least of your concerns) - you'd jump 5 minutes back or so, just as you would flip back a few pages.

Even better, some videos on EdX (such as CS 600.1 by MIT) have "linked" subtitles to the right of the video. If you don't remember something, you can lookup the sentence you want to start from again (like reading a book) and click on it - it helpfully jumps your video to the time that sentence was spoken.
 
Last edited:

*Pickle*

Arch-Supremacy Member
Joined
Aug 18, 2014
Messages
19,117
Reaction score
5
Sigh…it's kinda sad how my points were either misunderstood or taken out of context. To prevent this from spiralling into an "arguing for the sake of arguing" debate and also cluttering this thread with info that deviate too far from TS' original intent of opening this thread, this would be my last reply.

That's just sad. The concept of completeness in books, videos or handouts, are just laughable at best. Computer science is way too broad and in-depth for any one source to be "complete".

If books were "about the only way to obtain comprehensive information", then for what reasons do we research into other forms and methods of exchanging information (multimedia)?
With regards to the whole rebuttal you have made in your previous post, the first sentence struck me most. I stated that books are comprehensive, I did not claim that they are complete. Please do not put words into my mouth. Now, may I direct you to the definition of comprehensive:"including or dealing with all or nearly all elements or aspects of something." With this definition in mind coupled with the points I made in my previous postings, a good book is a better resource and closer to comprehensiveness as compared to a podcast, period.

Sometimes, a picture is worth a thousand words; and an animation - much much more. Could you comprehensively describe a famous work of art, or a famous movie with text and simple diagrams alone (as would be the case in a book)? Even if you tried, it is more than likely that you would have missed many information - or that it is so verbose (which is exceptionally tiring for the reader and writer) that is is no longer a feasible idea.

Even better, EdX courses like CS50 (Introduction to Computer Science 1 by David at Harvard) have forums with which online students may converse with on-campus professors and TAs to clear their doubts in real-time. Technology has just become that much better at bettering our educational progress.

Now, I do not mean to say that he should not ever try to learn to appreciate books - but that, he can do at his leisure. They are separate goals, and we must be clear, which, are we trying to achieve.
Again, taken out of context. You said you are a comp sci major, so I'm going to make a bold guess that you're from NUS.

Yes it's true a picture paints a thousand words, fair enough. But there are pictures and diagrams illustrated in books as well. You went on to state about the video animation to support your stand and that, I cannot fathom. I assume you've at least sat through a lecture in your life to know how most lectures are conducted. A prof standing in front of the LT, explaining the points through static slides and guiding the students along.

Here I am scratching my head trying to make sense which part of the animation were you referring to that is going to aid a student's understanding. The prof's hand movements, or his occasional break to quench his thirst?

The difference between books and university lectures is just that books are all encompassing - all the explanation and pictures are contained in one place. And this is what makes it so easy to refer and reinforce concepts as explained in my previous posts.

Moving on to your point made on university forums, all I can say is stackoverflow.

Furthermore, it is highly unlikely for anyone to become conceptually confused if they are following an accredited source of information, whether than be a good book, or webcast lectures from a good university. In both cases, we agree that they should be authorities in the pedagogy of Computer Science.

For the last time, most university lectures are meant to be brief. Please reread my previous postings. Not many are born a programming prodigy like you who is able to survive when being thrown into a sea of fragmented programming concepts.

Indeed! And I would like to suggest that, both, good university lectures and well-written books are both credible sources of information - most likely well-designed such that the student is guided to learning to concepts correctly and effectively.

I'm a Computer Science Major. :o:(

We're different (both in person, and in learning styles). I rarely find the need to "get my hands dirty coding" to understand and remember a new Computer Science concept. In my case, I believe it is much better to distill out the useful takeaways from the concept - and then implement it around that concept.

At higher level computing, more often than not, one has to modify and apply the concept (as my professor would say, "in a twisted way") to solve computing problems in the real world.

Well it's apparent we have different learning styles, I can't impose my on yours and vice versa. Point taken.

That's just silly. These are university webcasts. Why would there even be a "need" to switch videos halfway through? I can't imagine the professor saying "Students, we'll take a 10 minutes break now. You need to watch this video - the link is on the slide here - as this is part of our course material. If you haven't turned on your laptop, it is a good time to do it now".

If any professor pulls that one of my. I'll be like :s22::s22::s22:.

As for video pausing, it is about the same as doing a bookmark (in my case, I have enough "head" memory to simply memorise the page number I stopped at). If you forgot some syntax (which should really be the least of your concerns) - you'd jump 5 minutes back or so, just as you would flip back a few pages.

Even better, some videos on EdX (such as CS 600.1 by MIT) have "linked" subtitles to the right of the video. If you don't remember something, you can lookup the sentence you want to start from again (like reading a book) and click on it - it helpfully jumps your video to the time that sentence was spoken.

For the final time, please reread my post. Don't hurry into your rebuttal stance. Perhaps I wasn't being specific enough, let me illustrate an example in accordance to the podcast format that you so advocate.

Say you were watching week 2 cs50 and learned something about switches, strings and arrays. And probably after a few hours/days you arrived at week 4 lecture where file I/O was taught. After the lecture, you decided to code a program you always wanted to do - accept a number of user inputs, store them in an array and write them to a file. But dang, you forgot the syntax or how arrays are implemented, so you hurriedly switch back to week 2 video and try to locate the specific part of the video in which array was discussed.

This was the video switching I was referring to, not the mumbo jumbo which you were trying to put across in the quote above. And this is also where video pales in comparison to the appendix of books when it comes to referencing which makes up the bulk of learning.

For someone of your calibre who is able to understand and fully grasp concepts in one sitting, you might not be able to comprehend the possibility and the need to video switch for the revisiting of concepts taught but please try to understand the plight most of us normal intellects have to partake during our programming journey.

With that, I end this WOT. Have a good day.
 

davidktw

Arch-Supremacy Member
Joined
Apr 15, 2010
Messages
13,550
Reaction score
1,302
@ *Pickle*

You know, if you skim thru my profile, you will see I seldom *like* people's post. I don't do it for some vanity or "hard-to-comprehend" reasons that some seems to enjoy doing in this forum. Not because they are supportive in what I advocate or aligned in any manner. I find the way you have pose yourself in this conversation commendable and therefore I think your post and your alignment of how one should effectively consume knowledge from a well structured and properly flowed reading material like a book. For this, keep it up :)

There are just too many around that doesn't bear the patience and the need for the flow when acquiring knowledge. Just bumbling their way through tons of materials, cherry picking on this and that even at the initial stage of acquiring something broadly new to them.

No wonder there are just tons of gaps in a lot of knowledge possess among some. The idea of comprehensiveness may not apply to all situations, and certainly there exist scenarios where crash course are required to get things moving first and care about the details later.

Unfortunately I wouldn't have identify this instance to be such. Namely TS has posed too much gaps in his/her knowledge where they are better filled with a well structured and authored book, which will introduce from step 1 to step N, and once the foundation has been set, then TS may proceed cherry picking as required.

Meanwhile the foundation is insufficient to proceed at such cherry picking pace. The proper introduction should come from a book first, not unless TS has a tutor or lecturer whom is available to hand-hold him through the process, if not, a book will be the next best source of knowledge for this part of the learning process.
 

KnightNiwrem

Senior Member
Joined
Jun 1, 2014
Messages
1,057
Reaction score
0
Sigh…it's kinda sad how my points were either misunderstood or taken out of context. To prevent this from spiralling into an "arguing for the sake of arguing" debate and also cluttering this thread with info that deviate too far from TS' original intent of opening this thread, this would be my last reply.

No more debate/rebuttal. Thanks for clearing most of the points up - I understand your point of view much better now.

Just some final thoughts here. Some are for clearing up my points. But generally, I concede to your stand.

With regards to the whole rebuttal you have made in your previous post, the first sentence struck me most. I stated that books are comprehensive, I did not claim that they are complete. Please do not put words into my mouth. Now, may I direct you to the definition of comprehensive:"including or dealing with all or nearly all elements or aspects of something." With this definition in mind coupled with the points I made in my previous postings, a good book is a better resource and closer to comprehensiveness as compared to a podcast, period.

The "completeness" rebuttal was actually a reference to your statement "lecture slide/handouts/blablah definitely incomplete". I merely wanted to point out that the same goes for books.

Again, taken out of context. You said you are a comp sci major, so I'm going to make a bold guess that you're from NUS.

It's true. :(

Yes it's true a picture paints a thousand words, fair enough. But there are pictures and diagrams illustrated in books as well. You went on to state about the video animation to support your stand and that, I cannot fathom. I assume you've at least sat through a lecture in your life to know how most lectures are conducted. A prof standing in front of the LT, explaining the points through static slides and guiding the students along.

Here I am scratching my head trying to make sense which part of the animation were you referring to that is going to aid a student's understanding. The prof's hand movements, or his occasional break to quench his thirst?

Haha. I'm not sure if I'm just fortunate, but so far, the truth is, some of our comp sci lecturers do spend the effort of making non-static slides to better illustrate their points - meta-circular evaluator logic, for example.

The difference between books and university lectures is just that books are all encompassing - all the explanation and pictures are contained in one place. And this is what makes it so easy to refer and reinforce concepts as explained in my previous posts.

This, I agree. Especially about the later part on referring back.

Moving on to your point made on university forums, all I can say is stackoverflow.

They do have a habit of closing topics though. Haha.

For the last time, most university lectures are meant to be brief. Please reread my previous postings. Not many are born a programming prodigy like you who is able to survive when being thrown into a sea of fragmented programming concepts.

This, I concede. I've always been wondering why some of my peers don't understand a concept taught in lecture. Perhaps, I must concede that another would know more about the learning perspective of another average person than me.

From my perspective, lecture information can be relatively comprehensive if you perform a few "musings/idea extension" about what is being taught, then going to confirm either online (resources) or with prof.

For the final time, please reread my post. Don't hurry into your rebuttal stance. Perhaps I wasn't being specific enough, let me illustrate an example in accordance to the podcast format that you so advocate.

Say you were watching week 2 cs50 and learned something about switches, strings and arrays. And probably after a few hours/days you arrived at week 4 lecture where file I/O was taught. After the lecture, you decided to code a program you always wanted to do - accept a number of user inputs, store them in an array and write them to a file. But dang, you forgot the syntax or how arrays are implemented, so you hurriedly switch back to week 2 video and try to locate the specific part of the video in which array was discussed.

This was the video switching I was referring to, not the mumbo jumbo which you were trying to put across in the quote above. And this is also where video pales in comparison to the appendix of books when it comes to referencing which makes up the bulk of learning.

No rebuttal. This does clears things up about "video switching". Thank you. I admit I've never done such a thing before.

In this instance, I do agree that books are superior in this referencing back thing. Wikipedia and stackoverflow too.

Cs50 does have shorts for ease of reference, but this point is still a "no contest" since MOST lectures don't have such a thing.

For someone of your calibre who is able to understand and fully grasp concepts in one sitting, you might not be able to comprehend the possibility and the need to video switch for the revisiting of concepts taught but please try to understand the plight most of us normal intellects have to partake during our programming journey.

With that, I end this WOT. Have a good day.

Exactly. You've shown me an interesting perspective today. Thank you. I'll give myself some time to reconsider how all these factors can come into play to influence the learning journey of regular learners.

Good post.

All in all, I see what you mean when you ask if I've ever programmed or learned programming before - it seemed that way because my experience and learning journey differs significantly from others, it seems.
 
Last edited:

KnightNiwrem

Senior Member
Joined
Jun 1, 2014
Messages
1,057
Reaction score
0
There are just too many around that doesn't bear the patience and the need for the flow when acquiring knowledge. Just bumbling their way through tons of materials, cherry picking on this and that even at the initial stage of acquiring something broadly new to them.

No wonder there are just tons of gaps in a lot of knowledge possess among some. The idea of comprehensiveness may not apply to all situations, and certainly there exist scenarios where crash course are required to get things moving first and care about the details later.

This is correct. There are instances like, in cs50, where the lecturer "abstracts away" the complicated portions of scanf (in C) to more user-friendly methods like getString or getInt.

If you peruse their cs50 library, which is available online, they generally want the new-learner to experience user input without having to worry about string buffer and memory allocation so early. Of course, they do "look under the hood" later on, when they have covered memory allocation and stuff.

Unfortunately I wouldn't have identify this instance to be such. Namely TS has posed too much gaps in his/her knowledge where they are better filled with a well structured and authored book, which will introduce from step 1 to step N, and once the foundation has been set, then TS may proceed cherry picking as required.

Meanwhile the foundation is insufficient to proceed at such cherry picking pace. The proper introduction should come from a book first, not unless TS has a tutor or lecturer whom is available to hand-hold him through the process, if not, a book will be the next best source of knowledge for this part of the learning process.

I'm in agreement here - no dispute. The fact is, the lack of TS foundation was clear when he couldn't understand the difference between an empty parameter function and a function with a default parameter.

Indeed, he should look out for a comprehensive book (sources given by pickles and you) or a lecturer that can hand-hold him (sources given by me; personally, I recommend CS50 if he doesn't care about the language he wants to learn - it has the most in-depth hand-holding I've ever seen).

--------------

On a completely unrelated note, these resources posted by david and pickles are going to be useful for me too - I'm going to have to take another look at C++ for a personal project I'd like to do. :s13:
 
Important Forum Advisory Note
This forum is moderated by volunteer moderators who will react only to members' feedback on posts. Moderators are not employees or representatives of HWZ Forums. Forum members and moderators are responsible for their own posts. Please refer to our Community Guidelines and Standards and Terms and Conditions for more information.
Top