Intro to Programming: Advice Requested

  • (2 Pages)
  • +
  • 1
  • 2

16 Replies - 2047 Views - Last Post: 23 August 2008 - 01:52 AM Rate Topic: -----

#1 LowWaterMark  Icon User is offline

  • D.I.C Head

Reputation: 1
  • View blog
  • Posts: 119
  • Joined: 30-July 08

Intro to Programming: Advice Requested

Post icon  Posted 19 August 2008 - 03:39 AM

I've posted on this forum to get assistance with introductory issues in C/C++ programming. I realize that I've issued forth a sufficient number of posts to suggest that I step back a bit and get myself squared away on some of the more basic fundamentals.

I'm trying to isolate a resource (book, tutorial, whatever) to help get me grounded on introductory program design, logic and philosophy. As a start, I've tracked down and am examining two resources on the Internet:
1. Wikiversity's Introduction to Programming
2. How to Design Programs: An Introduction to Computing and Programming

Ideally I would like to find a resource that is language independent and hence, IDE independent. This of course presents the problem of not being able to do problems and exercises. I would appreciate your thoughts on this.

Finally, I would like to know if anyone is familiar with either site hyperlinked above and if so, what your opinion is of them. More broadly, does my strategy make good sense? If so, could you point me toward a better resource (book, tutorial, et cetera), one that might address my needs as I've explained them?

This post has been edited by LowWaterMark: 19 August 2008 - 04:05 AM


Is This A Good Question/Topic? 0
  • +

Replies To: Intro to Programming: Advice Requested

#2 gabehabe  Icon User is offline

  • GabehabeSwamp
  • member icon




Reputation: 1377
  • View blog
  • Posts: 10,951
  • Joined: 06-February 08

Re: Intro to Programming: Advice Requested

Posted 19 August 2008 - 11:51 AM

I've never seen either, but after a quick (read: very quick) review, I'd say the Wikiversity one is better.

Number two seems to use fairly technical phrasing, and you could quickly end up feeling like you're in over your head, even on the most basic of problems.

My first book was a very user-friendly book to teach C++ wherein the author spoke as if it was a game:
"Now, brave warrior, continue on to the next page to discover the wonder of object oriented programming."

That kinda stuff. The book is called "C++ Programming for the Absolute Beginner" published by Premier Press, written by Dirk Henkemans (I think that's how you spell it) and someone else. I know you want something that isn't language specific, but I just thought I'd throw that out there.

:)
Was This Post Helpful? 0
  • +
  • -

#3 KYA  Icon User is offline

  • g++ jameson.cpp -o beverage
  • member icon

Reputation: 3093
  • View blog
  • Posts: 19,139
  • Joined: 14-September 07

Re: Intro to Programming: Advice Requested

Posted 19 August 2008 - 11:59 AM

Hmmm, you want to learn how to program without actually doing any programming? That is going to get tough. You can find a book that just talks about variables, functions, and the like, but examples and practice are what cement the concepts.
Was This Post Helpful? 0
  • +
  • -

#4 OliveOyl3471  Icon User is offline

  • Everybody's crazy but me!
  • member icon

Reputation: 134
  • View blog
  • Posts: 6,581
  • Joined: 11-July 07

Re: Intro to Programming: Advice Requested

Posted 19 August 2008 - 12:32 PM

In college I took a class called CIS 110, introduction to programming and logic. It was a prerequisite for the other programming classes, and really helped me understand the basic logic of programming. It was compiler and IDE independent, other than a little QBasic during the second half of the semester. I am not sure if there is a prerequisite for 110. It seems like this is what you are looking for. You might be able to take a course online, and if it's only one course (at a community college) it would probably only cost about $400 or so, including the book. $400 is a lot for me, which is why I use financial aid, but for a doctor it should be chump change. :)

Anyway, it might be worth looking into, especially if you are seriously considering changing careers. I think a course would really help you learn the fundamentals, and would pay off well in the long run. If you want to do this, I suspect that you want to do it right.

BTW...Didn't you say that you already know one programming language--Fortran? Did I remember that right? Is it that different, that you have to start all over again?


edit--I did not mean to imply that those who learned on your own did not 'do it right.' Obviously, you must have done something right or you would not be as good as you are.

This post has been edited by OliveOyl3471: 19 August 2008 - 01:15 PM

Was This Post Helpful? 0
  • +
  • -

#5 NickDMax  Icon User is offline

  • Can grep dead trees!
  • member icon

Reputation: 2250
  • View blog
  • Posts: 9,245
  • Joined: 18-February 07

Re: Intro to Programming: Advice Requested

Posted 19 August 2008 - 02:59 PM

In general I would say that it is hard to have a conversation about computer programming without having a common platform for your concepts to be realized on.

Knuth wanted to talk about computing in the abstract and ended up with MIX (an abstract computer with a simple assembly language). While learning to program in the abstract may be a benefit, I think that learning a language is the more convenient way to go.

As for the two links. I have looked over both and the first one is basically in rough into to java/C type syntax but does not contain much meat. The other is on functional programming and all of the examples are in scheme and while I think this is probably the better tutorial to follow, it is also likely to cause some confusion when you start learning a procedural language.

So, look over the first one... if you like academia then reading the second is interesting (but you will be learning scheme) but is not as utilitarian as the first.

In the end... find a little corner to play with some programs.
Was This Post Helpful? 0
  • +
  • -

#6 Guest_Whizzy*


Reputation:

Re: Intro to Programming: Advice Requested

Posted 19 August 2008 - 06:10 PM

View PostLowWaterMark, on 19 Aug, 2008 - 03:39 AM, said:

Ideally I would like to find a resource that is language independent and hence, IDE independent.


I don't know if this will help you out or not.

This tutorial introduces basic programming concepts such as program structure, variable declaration, conditional and looping constructs, and the code/compile/run style of programming. This tutorial is intended for use as an introduction to these concepts for students who have no prior programming experience.


http://cisnet.baruch...es/programming/

It even has the Email addy for Richard Holowczak

The writer of the tutorial
Was This Post Helpful? 0

#7 LowWaterMark  Icon User is offline

  • D.I.C Head

Reputation: 1
  • View blog
  • Posts: 119
  • Joined: 30-July 08

Re: Intro to Programming: Advice Requested

Posted 20 August 2008 - 12:20 AM

Whizzy, thanks for the link. I'm reading it now and it is exactly the kind of thing I'm looking for. I wish it was more in depth but it is a start and I thank you. If you know of any other similar links please do send them my way. Fortunately, I play poker for money and have a special cert in biostatistics so the Boolean stuff is second nature. Somehow, I missed graph theory though. How would you graph the incremental iteration:
i = i + 1;

what would be the nodes and what would be the arc(s)?

NickDMax and gabehabe, yea I've looked over both and I keep going back to the Wikiversity. I think it is more my style. Thanks for the advice. The second tutorial requires you know the Lispesque Dr. Scheme world, so I'm not sure I'm getting anywhere down that road.

OliveOyl, if I could, the perfect thing would be taking community college classes. Just can't find the time. Ironic: there's a CC down the street from where I live that offers CIS 110 - Intro to Programming and Logic. Maybe we're neighbors. But online might be the way to go and there are plenty of those. The tough part is getting any sense of the quality before they run your VISA number. FWIW, I never waste money - I hate it. I went to med-schol at Tufts Med the year I turned thirty and am now a resident physician, pushing forty. As a resident, nothing is chump change. Oh, I did learn Fortran back in college but that was nearly twenty years ago and it was an 8AM class which I rarely attended. Fortunately, I have this savant capacity to test well and I passed the class withought remembering a thing. Embarrasing.

KYA, I know that you advise a trial by fire approach. You've mentioned it before and I respect your position. That's how medicine is taught (I'm an MD) and I understand why. But in the long hallways of the hospital there is always an attending physician over my shoulder to watch my back if I misunderstand something or accidentally try and kill a patient. My dilemma is that I constantly run into terminology and concepts that I don't understand. I just need some fundamentals. I realize it sounds like I want to learn to program without programming but that isn't the case. I just think I could move faster if the concepts held a bit more meaning for me before I start scribbling code. Thoughts?

This post has been edited by LowWaterMark: 20 August 2008 - 12:51 AM

Was This Post Helpful? 0
  • +
  • -

#8 NickDMax  Icon User is offline

  • Can grep dead trees!
  • member icon

Reputation: 2250
  • View blog
  • Posts: 9,245
  • Joined: 18-February 07

Re: Intro to Programming: Advice Requested

Posted 20 August 2008 - 07:09 PM

You can put the "i = i + 1;" into a flow chart, though it is a really simple one.

(Load i) -> (Load 1) -> (ADD i and 1) -> (Assign Value to i)

Graphs are great for visualization of things like abstract data structures and machines -- they can even be useful for visualizing algorithms (depth first search vs breadth first search etc). But like any tool there are times where other tool are better for the job.
Was This Post Helpful? 0
  • +
  • -

#9 KYA  Icon User is offline

  • g++ jameson.cpp -o beverage
  • member icon

Reputation: 3093
  • View blog
  • Posts: 19,139
  • Joined: 14-September 07

Re: Intro to Programming: Advice Requested

Posted 20 August 2008 - 08:05 PM

How about some discrete math? That is one of my favorite classes so far. It is essentially math "logic" as it pertains to computing.

The book I used was:

Discrete Mathematics with Applications Third Edition
Susanna S. Epp


although that really isn't programming per se.

i = i + 1 is the same as i+= 1

Graph wise it would be a linear function.

y = x + b, etc... I wouldn't think of it terms of nodes unless you wanted a linked list between plot points.
Was This Post Helpful? 0
  • +
  • -

#10 Guest_Whizzy*


Reputation:

Re: Intro to Programming: Advice Requested

Posted 20 August 2008 - 10:25 PM

View PostLowWaterMark, on 20 Aug, 2008 - 12:20 AM, said:

Whizzy, thanks for the link. I'm reading it now and it is exactly the kind of thing I'm looking for.


You're welcome. I did an advanced google search for "Progamming concepts"
There were more links there. Also try "Programming techniques"

I think you'll find a gem or two.
Was This Post Helpful? 0

#11 LowWaterMark  Icon User is offline

  • D.I.C Head

Reputation: 1
  • View blog
  • Posts: 119
  • Joined: 30-July 08

Re: Intro to Programming: Advice Requested

Posted 20 August 2008 - 10:48 PM

Again, thanks to everyone. I found the motherload of resources for free online texts that focus on theory of programming. Check out the link. It's a gold mine. Should any bumbling beginner ask a similar question or be on a similar quest, this might make a good sticky.

I've been going through the texts for hours and they run the gamut from needing good common sense as a prerequisite to being embarked on graduate work in logic and/or math. Anyway it is good stuff.

Thanks again for your help. Oh, BTW, these dudes and dudettes at Lambda had a similar dialogue three years back. I found the back-and-forth equally helpful to the many resources discussed and referenced.

Edit: if y'all are familiar with any of the works from either link above, please offer your comments and of course, your suggestions.

This post has been edited by LowWaterMark: 21 August 2008 - 03:50 AM

Was This Post Helpful? 0
  • +
  • -

#12 AfterBurner66  Icon User is offline

  • D.I.C Head

Reputation: 16
  • View blog
  • Posts: 116
  • Joined: 02-August 08

Re: Intro to Programming: Advice Requested

Posted 21 August 2008 - 03:18 PM

I think that your best bet is to make the decision:
Do I want to learn practical programming or going for something deeper?
Of course there are practicians of programming all over the world, that are really good, but to get there had a big time cost.On the other side of coin there are people much more involved( from CS or some other discipline),who began learning algorithms, software engineering principles together with some programming language,and this way they normally became far better than practitioners, having spent the same time as them.
What I'm trying to say is that the real measure for you, is the extent you want to reach.
Personally I was taught basics of algorithms together with Pascal language,so what I was learning in theory I had the opportunity to make as program.I think that this is the right way to go( of course no matter which programming language, though I think Pascal is better by far than any other language,as far as education is concerned).Try to begin with what is a problem, what is an algorithm, how you construct one to solve your problem, how you optimize it,and try to practice that using any language you like.Along the way, you'll see that you will understand what you're doing while programming,and the issue of developing a personal programming style is a matter of time.I think that is totally wrong to try to learn only in an intuitive way from complete programs that others edited, or to use some features of some language just to do your job.Trying hard is difficult, but pays off!
Was This Post Helpful? 0
  • +
  • -

#13 LowWaterMark  Icon User is offline

  • D.I.C Head

Reputation: 1
  • View blog
  • Posts: 119
  • Joined: 30-July 08

Re: Intro to Programming: Advice Requested

Posted 22 August 2008 - 12:17 AM

AfterBurner66, you made several salient points. I love to approach things from a fundamental vantage. I deeply enjoy logic and philosophy and as a physician, I've spent a life honing my algorithmic thinking. The flip side is that meticulously tilling the soil, so to speak, can become a crutch against diving in and getting your hands dirty.

When a patient presents to you (unless it is an emergency, trauma, etc.) you are taught to see them first as a whole person, like someone you met in a restaurant. You chat them up and try to get their big picture. What's their story? Why are they there? How are they doing? What's up? What's wrong? What hurts? Where?

And so on, you get to the point where you're diagnosing disease, but not in the desert - in the context of the whole person. Curiously, it is deduction superimposed upon induction. If you aren't generating theories and amassing data simultaneously within a minute you are behind the 8-ball.

That's my life and it's all I know. It's also a paradigm for how I see novel problems and challenges.

Quote

What I'm trying to say is that the real measure for you, is the extent you want to reach.
Considering I have twelve years of formal education after high-school, I am keenly aware of the passage of time. Four full years on this adventure may be more than I can invest. Two years I could rationalize. Four and people are going to start to wonder. Oh, and then there's divorce court.

Quote

Trying hard is difficult, but pays off!
My life is about trying hard so I have no problem with that. I enjoy that. My Achilles' heel is overkill. I think I need to find some appropriate balance for me, as trite as that sounds. Presently I have an office strewn with books and articles and downloads with three monitors and two computers that haven't been off in a month. It looks like a bipolar person stopped their medication and got stuck in there.

I suppose what I long for is an organized approach to a problem I don't fully appreciate within a paradigm I don't quite understand. Hence my non-subtle confusion and scattered approach. Like many, I have a drive to do things right and also with a certain gusto. That's why I'm reaching out. Thanks for the feedback.

P.S.

Quote

Personally I was taught basics of algorithms together with Pascal language
My local community college does their algorithmic orientation to the strains of COBOL. Does that seem strange in 2008?

This post has been edited by LowWaterMark: 22 August 2008 - 12:22 AM

Was This Post Helpful? 0
  • +
  • -

#14 LowWaterMark  Icon User is offline

  • D.I.C Head

Reputation: 1
  • View blog
  • Posts: 119
  • Joined: 30-July 08

Re: Intro to Programming: Advice Requested

Posted 22 August 2008 - 03:36 AM

After much thought, I pulled the trigger at Amazon and purchased:

"Introduction to Logic" by Harry Gensler, and
"How to Design Programs: An Introduction to Programming and Computing" by Matthias Felleisen.

We'll see what happens. Wish me luck . . .
Was This Post Helpful? 0
  • +
  • -

#15 KYA  Icon User is offline

  • g++ jameson.cpp -o beverage
  • member icon

Reputation: 3093
  • View blog
  • Posts: 19,139
  • Joined: 14-September 07

Re: Intro to Programming: Advice Requested

Posted 22 August 2008 - 08:17 AM

COBOL in 2008???? Argh! That's weird.
Was This Post Helpful? 0
  • +
  • -

  • (2 Pages)
  • +
  • 1
  • 2