Welcome to Dream.In.Code
Getting Help is Easy!

Join 132,688 Programmers for FREE! Get instant access to thousands of experts, tutorials, code snippets, and more! There are 1,280 people online right now. Registration is fast and FREE... Join Now!




ArsDigita University Curriculum

 
Reply to this topicStart new topic

ArsDigita University Curriculum

LowWaterMark
post 12 Sep, 2008 - 04:27 AM
Post #1


D.I.C Head

**
Joined: 30 Jul, 2008
Posts: 119



Thanked 1 times
My Contributions


I've been trying to cobble together a self-study education in the fundamentals of programming, focusing on knowledge and skill sets that would allow me to study programming without obvious roadblocks.

I discovered ArsDigita University Curriculum the other day. It's a derivative of the MIT OpenCourse deal. My question is whether anyone has experience with the ArsDigita curricula and if so what are your thoughts? If not, please take a moment to paruse their site, their course listing, colloquia, video lectures (especially the video lectures), notes, problem sets, et cetera and let me know what you think. Is it well balanced and/or well presented? Nothing can be adequately concise and sufficiently deep, but how closely does ArsDigita approximate this goal?

In my naivete, I really like ArsDigita. I need to ask the more experienced folk here abouts if there are obvious flaws with the site that I lack the knowledge to perceive.

Take care.

This post has been edited by LowWaterMark: 12 Sep, 2008 - 04:30 AM
User is offlineProfile CardPM

Go to the top of the page

AfterBurner66
post 12 Sep, 2008 - 04:46 PM
Post #2


New D.I.C Head

*
Joined: 2 Aug, 2008
Posts: 16


My Contributions


For someone to give you a correct or helpful at least answer,must know what is your programming background,if you have any additional knowledge about some CS topics etc.Because if you are starting from zero point, it may be difficult for you to attain a video lecture or to study some notes.In my opinion you must have some prior knowledge about programming in whatever language(s),the basics to sy the least.Some knowledge about CS topics like algorithms that are foundamental in programming and CS,some mathematics of undergraduate level,and of course much more if you want to go further...
I have watched video lectures from Ars Digita and I think that are very,very good to say the least.These days I watch video lectures about Algorithms and I am studying the 'introduction to Algorithms" text book for some additional topics to grasp.I have no CS degree,only web developer's.But I am very interested about CS topics and especially programming(I have some knowledge of Turbo Pascal,C,Java,PHP and Javascript).
My advice is to watch carefully Ars Digita video lectures and follow on with suggested textbooks,notes,exercises etc.if you have some knowledge to do it;if not you can start from learning the basics on one or two languages(I recommend C,because the hard way always pays back),study some algorithmic topics,programming techniques and then follow with Ars Digita material.Wish you the best!
User is offlineProfile CardPM

Go to the top of the page

LowWaterMark
post 13 Sep, 2008 - 12:20 AM
Post #3


D.I.C Head

**
Joined: 30 Jul, 2008
Posts: 119



Thanked 1 times
My Contributions


AfterBurner66 - thanks for taking the time to reply.

And you are right. I should have included my ed and experience. Education wise, I have an MD. That doesn't mean much in this case except that I know how to parse information and study the sciences. I took Fortran 77 and Basic in college, but that was nearly twenty years ago, although I do remember Fortran 77. I know, how marvelous. I've read a couple books on C (just recently) and it was that experience that propelled me into my search for some more basic fundamentals, things applicable to the foundation of modern programming. I found myself doing well on all the problem sets, but not truly understanding what I was doing or why. This nagged me incessantly.

My situation is that I have some ideas for a medical device that, if it works out, would benefit a large number of people. But it's the programming business that trips me up. The paradox is that anyone with my level of medical training is not usually a fluent programmer. Most often they suck and don't even realize it. Conversely, people who have dedicated themselves to programming and computer science usually don't stop along the way to get an MD. Because of my idea's complexity, I need both skills (medicine and programming) in one human to realize this idea outside of my imagination on a workbench.

Well, as they say, "physician - heal thyself", so here I am, gently posting questions about this book or that, or this training module or that website. If you look at my postings, they are most all along a similar vein. The restriction upon me is that I have to teach myself and am looking for the best, most efficient way to do that.

So, on the plus side, I have training and potential in the sciences. I also learn quicker than the average student. On the minus side is my lack of experience with relevant programming languages.

Employing Russell L. Shackelford's arguments, using Scheme (which was not developed when the above paper was published) instead of Java, I think I will do much better with my thinking process more refined prior to embarking upon the sticky details of modern programming languages that will meet my needs. If you agree, disagree or have any more suggestions for me now that I've explained myself a bit better, please do share them. I eagerly await yours and everyone's thoughts.

This post has been edited by LowWaterMark: 13 Sep, 2008 - 01:45 AM
User is offlineProfile CardPM

Go to the top of the page

AfterBurner66
post 13 Sep, 2008 - 03:24 PM
Post #4


New D.I.C Head

*
Joined: 2 Aug, 2008
Posts: 16


My Contributions


The first language I learned was Basic in late 80's,on an Amstrad CPC6128,a big deal for that time!But languages like Basic and even Fortran nowadays,are of little interest,not because they are bad(well they are a little bit...smile.gif ),but mainly because the programming concepts and projects are too complicated for them to deal with.
I don't know much about Scheme,but for a bit of advice for your situation,I think that C(or even better,C++),does the trick.Is "the lowest high level language" or "a mid language",as usually is said about C.
In order for you to grasp some concepts though,you absolutely need some algorithmic study.Combined with some good knowledge of syntax and semantics of C(that is to say:practice,practice,practice...),you.ll begin to understand what you are doing in programming and why.That is to say:
-Read problem.
-Grasp what exactly is given and what it asks to be done.
-Invent(well, hopefully) or as is usually done copy/paste an algorithm to solve it.
-Implement it and that's all.
I always try to do things in programming this way,regardless of platforms,languages etc.
I know that this way takes a long time,but is the only way, to know what you are doing.
Of course if the kind of programming you want to do is logic or functional,you can choose whatever language is appropriate,but the above procedure (in my humble opinion),still holds true.
Another idea if you find yourself can't translate easily a solution to a working program is Pascal.This was the first language I studied seriously,and is excellent for educational purposes.It has the easier transition from algorithm to program.You can grasp the basics to intermediate in small time and then go from there.
As for Java, I am a fan of its technologies,is very,very good for a whole lot of choices and purposes,and makes things very easy in situations that pure procedural languages,are really obscure.But you have to deal with object-oriented programming that has a totally different way of thinking, about data and procedures,but no doubt,worth its salt.

This post has been edited by AfterBurner66: 13 Sep, 2008 - 03:25 PM
User is offlineProfile CardPM

Go to the top of the page

LowWaterMark
post 14 Sep, 2008 - 01:22 AM
Post #5


D.I.C Head

**
Joined: 30 Jul, 2008
Posts: 119



Thanked 1 times
My Contributions


AfterBurner66 - thanks again.

As per your example, I'm going through the motions of learning C, with the fore stated caveat:
QUOTE
I found myself doing well on all the problem sets, but not truly understanding what I was doing or why. This nagged me incessantly.
The reason I am sticking with C (in addition to its comparatively low level) is that it resembles Boolean algebra more so than any other language I've come across, hence circles in through the back door to satisfy my intent to learn the fundamentals, if not first, at least simultaneously with programming. I'm using open source CodeBlocks as well which will accommodate C++ when I get around to it.

Scheme is a pseudocode originally designed as a vehicle to teach coding. It's not rocket science (from my end - I'm sure it took great minds to build), but Scheme allows you to apply concepts, compile them and execute them. In concert with the text, "How To Design Programs" by Felleisen et. al., I'm using PLT Scheme, an educational IDE. I'm augmenting this with Wikiversity's Introduction to Programming.

But allow me to return to my original question regarding the ArsDigita Curriculum. Is it a good overarching way to organize my self-study?

Take care.

This post has been edited by LowWaterMark: 14 Sep, 2008 - 02:20 AM
User is offlineProfile CardPM

Go to the top of the page

Fast ReplyReply to this topicStart new topic
Time is now: 11/23/08 07:24AM

Live Help!

Tutorials

Programming

Web Development

Reference Sheets

Code Snippets

Bye Bye Ads

Free DIC T-Shirt

T-Shirt Example

Related Sites

Monthly Drawing

Thumb Drive

Partners

Top Contributors

Top 10 Kudos This Month