Easygoing Eyebeast Enraged Slith Posted August 24, 2012 Share Posted August 24, 2012 I've always been interested in computer programming, but the only class I've ever taken was woefully inadequate and didn't let the students advance at their own pace. Now that I'm out of school, I'd like to try to teach myself. I've already learned a bit of the basics by teaching myself how to write scripts in Blades of Avernum, so I was curious as to what the next step would be. Any ideas or recommendations? Quote Link to comment Share on other sites More sharing options...
Ineffable Wingbolt Mosquito---Slayer Posted August 24, 2012 Share Posted August 24, 2012 Have you tried C/C++ ? Personally I had say they should be the first step of every guy who wants to do programming. Quote Link to comment Share on other sites More sharing options...
Hatchling Cockatrice Randomizer Posted August 24, 2012 Share Posted August 24, 2012 Go to the library and get a text book for a programming class since that will explain what you need to know in sections so you can start with small easy programs and work your way up to the larger ones. C/C++ is a good choice and it is what Jeff uses to write the games. Quote Link to comment Share on other sites More sharing options...
Unflappable Drayk adc. Posted August 24, 2012 Share Posted August 24, 2012 I learned through experience. Although, I can provide you with simple lessons through what I've seen on Jeff's games. Modifying scripts to make yourself bulletproof or to rain gold on entrance to a city, that's one of the hundred jobs of Nightwatcher... Also, Game Maker is a really nice program if you want to learn more... --------- -Just p.m. me, A Quote Link to comment Share on other sites More sharing options...
Ineffable Wingbolt BMA Posted August 24, 2012 Share Posted August 24, 2012 Yea. Since you already have some BoA scenario designing experience (the scripts of which are based on C), you'll probably be comfortable starting off with C/C++ . Quote Link to comment Share on other sites More sharing options...
Rotghroth Rhapsody The Reverend Posted August 24, 2012 Share Posted August 24, 2012 Start by learning a language - as previous posters have mentioned, C and C++ is a good choice. Others might recommend Java, and you wouldn't go wrong with that - I believe its what most universities are teaching in their intro CS courses these days. Personally I prefer C (with bits of C++ mixed in when I want some object-oriented features) though, as it gives you more control over what your code is really doing (essential for the type of work I do professionally). It also forces you to think about things like memory management that higher-level languages hide under the covers- which can be the source of bugs, of course, but also helps you learn about what's really going on behind the scenes. Once you've learned a language, you'll want to find an introductory book (or books) on data structures and algorithms. Choosing good algorithms and data structures can have enormous impacts on how well your code performs. Quote Link to comment Share on other sites More sharing options...
Easygoing Eyebeast Enraged Slith Posted August 24, 2012 Author Share Posted August 24, 2012 Thanks for the advice. Do you have any specific recommendations for textbooks? Quote Link to comment Share on other sites More sharing options...
Rotghroth Rhapsody The Reverend Posted August 24, 2012 Share Posted August 24, 2012 It's been a long time since I was in school, so the introductory textbooks I used are probably out of print/in museums by now. For an intermediate algorithms textbook, which will also serve as a good reference book in the future, I like the well-known "Introduction to Algorithms" by Cormen, Leiserson, Rivest, Stein. Depending on your math background, however, that may not be suitable for an introductory text (it assumes familiarity with discrete mathematics and combinatorics). For other texts, I might suggest checking the websites of various computer science departments at well-known universities. In many cases the course websites are publicly accessible and you can look at their syllabus and recommended textbooks. Some of them also post lecture notes/slides. Quote Link to comment Share on other sites More sharing options...
Easygoing Eyebeast Dintiradan Posted August 24, 2012 Share Posted August 24, 2012 <delurk> Check this thread from a couple months ago if you haven't already. I never used a textbook to learn Python or Java, but both have good tutorials on their websites. Neither were my first language, so I don't remember how good they are at fundamentals like "what is a variable", "what is a function", etc. "C Programming: A Modern Approach" by K.N. King is a good textbook, works good as an introduction to programming. One of the few textbooks that work equally well for learning and reference. Not that good at teaching C++, but then, I only own the first edition. "Introduction to Algorithms" is a classic. A huge, intimidating classic. But still good. My first algorithms textbook was "Introduction to the Design and Analysis of Algorithms" by Anany V. Levitin. Smaller, easier to read, not as much coverage and depth. In any case, you don't need to pick up an algorithms textbook until you understand the fundamentals of a language, and the most common/simplest algorithms are usually covered by language textbooks anyway. </delurk> Quote Link to comment Share on other sites More sharing options...
Easygoing Eyebeast Sullust Posted August 24, 2012 Share Posted August 24, 2012 I'd start with Python or Perl; they are much easier to break into than C++ or Java. Both have fairly large communites and online documentation. I should also mention Udacity has a couple of python programming courses. Once you're comfortable with those you can try messing around with C++ or Java. Using an IDE like NetBeans makes the development process much easier. As far as C goes, I'd hold off on that until you're familiar with pointers and writing Makefiles. Quote Link to comment Share on other sites More sharing options...
Well-Actually War Trall The Ratt Posted August 25, 2012 Share Posted August 25, 2012 I'd suggest starting with Java or C++ rather than Python or Perl, simply because it's easier to transition from a low level language to a high level language rather than the other way around. Quote Link to comment Share on other sites More sharing options...
Ineffable Wingbolt BMA Posted August 25, 2012 Share Posted August 25, 2012 Originally Posted By: Dintiradan My first algorithms textbook was "Introduction to the Design and Analysis of Algorithms" by Anany V. Levitin. Smaller, easier to read, not as much coverage and depth. It's the same book (2nd Edition) we're using in this semester, it being recommended by my university as the next step up from Mark Allen Weiss' book "Data Structures and Algorithms" which was prescribed earlier. As for C++, my first author was Sumita Arora. I think she's the best. Quote Link to comment Share on other sites More sharing options...
Ineffable Wingbolt Erebus the Black Posted August 25, 2012 Share Posted August 25, 2012 Originally Posted By: Enraged Slith Thanks for the advice. Do you have any specific recommendations for textbooks? The main difference between Language books and Algorithm books is that Algorithm books tend to use more pseudocode rather than an actual language leaving it to you to decide how to actually implement the algorithm. For example this is how the DIJKSTRA algorithm is written in Intro to Alg.: DIJKSTRA(G,w,s) INITIALIZE-SINGLE-SOURCE(G,s) S <-- empty set Q <-- V[G] while Q<>empty set do u <-- EXTRACT-MIN(Q) S <-- S union {u} for each vertex v member of Adj do RELAX(u,v,w) leaving you not only to decide in which language to implement it but also to decide with what data structure to implement S and what sub methods the set S needs. One test asked me to implement this, and even though I new and understood the algorithm by heart the decision of which data structure would be best kept me stumped throughout the entire test. (And I believe I already mentioned this on these boards, so you can see how traumatized this left me) Quote Link to comment Share on other sites More sharing options...
Well-Actually War Trall Harehunter Posted August 25, 2012 Share Posted August 25, 2012 Aaarrrgghh, That hit a painful neuron. Reminds me my Data Structures class where we had to code for building and traversing things like queues (linked lists) and binary trees. Not once but twice; once using 'normal' code and once using recursion techniques. The language we used was Pascal. Then came sparse arrays, and ternary trees. On the other hand, having an intimate understanding of how to build and use different data structures, and just as importantly, when to use a certain data structure, has been one of the key factors to becoming a Data Base Administrator. Quote Link to comment Share on other sites More sharing options...
Easygoing Eyebeast The Mystic Posted August 26, 2012 Share Posted August 26, 2012 Originally Posted By: Enraged Slith Do you have any specific recommendations for textbooks? Since the general consensus is C++, I'll recommend C++ Without Fear and Practical C++. Also, you'll want to avoid C++ For Dummies--and the entire Dummies series, for that matter. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.