Page 1 of 2 12 LastLast
Results 1 to 10 of 14
  1. #1
    laoshijeff is offline Minor Noble
    Join Date
    Jan 2011
    Posts
    26

    Default Programming Questions

    I know there's quite a few programmers on this board (especially you Sir Ryoder!) so I thought it would be ok to ask some questions that have been on my mind about this topic.

    1. At this point, I've been practicing in Objective C, C++, and Visual Basic. I get and can do variable declarations, control structures, arrays, structures, classes, and etc. What I'm not getting is more of the bigger picture.

    To give you an example, I see an app that I like such as Hipstamatic and I have almost no clue how they made it. I have a feeling the interface isn't done in Interface Builder but then how WOULD it be done?

    I also imagine there is an API for working with the camera and that API maybe has classes that I could examine which would show how to work with the camera. Then, I imagine that each of the "lenses" in Hipstamatic each have their own functions that manipulate the image using properties such as RGB, contrast, and etc. But where do people FIND these APIs, classes, and etc. Is this where things like OpenGL come in or is it something else?

    On a related note...

    2. Do you know of any other teaching materials for programming that differ from the "Here is a variable" "Here's a while statement" approach to programming? My ideal book would be one that shows you a cool program that makes you think like a programmer from idea conception to execution and testing. I'm very much a tear something apart to see how it works and reconstruct it again to build my skills kind of person.

    I really want to grow as a programmer. I'm going to keep on learning and teaching myself new things but sometimes I'm not sure what I should be learning. I especially want to put together a portfolio to demonstrate to future employers that I can do the work.
    Last edited by laoshijeff; 07-25-2011 at 04:20 PM.
    CLEP US History 1 - 72
    CLEP US History 2 - 69
    CLEP Principles of Management - 63
    CLEP Principles of Marketing - 64
    CLEP Information Systems - 75
    CLEP Principles of Macroeconomics - 67
    CLEP French - 68
    CLEP Humanities - 73
    CLEP Introductory Business Law - 61
    DSST Organizational Behavior - 68
    DSST Business Ethics and Society - 449
    DSST Management Information Systems - 474
    PF Financial Management
    ALEKS Statistics
    ALEKS Business Statistics
    ALEKS Trigonometry


    “People who are unable to motivate themselves must be content with mediocrity, no matter how impressive their other talents.” - Andrew Carnegie

  2. #2
    ryoder is offline King / Queen
    Join Date
    Nov 2010
    Location
    Tampa, FL
    Posts
    2,056

    Default

    I'll be happy to answer!

    Ok I was an aspiring game programmer for many many years so I totally understand your desire to learn how cool programs are written.

    I am actually an iPhone noob. I have downloaded the SDK, launched XCode and created the simplest hello world app known to man. That is all I have had time for.

    But your question is pretty general so here is my answer.

    You need to learn multimedia/3d/game programming fundamentals to build something cool, flashy, in 3d with camera controls.

    I started out learning this stuff back in 1995 when you had very few tools but the concepts are the same.

    OpenGL is an open source 3d api that has trailed significantly behind DirectX over the past 10 years but it runs on the iPhone so that is what you would need to learn to do 3d on the iPhone.

    I have a lot of experience in DirectX, with DirectDraw (now deprecated) and Direct3D 7 (also deprecated) Direct3D 9 (deprecated) and a little bit of experience in XNA which is up to date and allows you to build both PC and Xbox games in the same environment and with the same API.

    I would recommend that you learn some basics of 3d programming starting from the all important "draw a pre-lit triangle on the screen" which is the 3d hello world.

    XNA is much easier to get started in than OpenGL so I would start there. It is also arguably much more powerful as it will allow you to build custom shader code that runs on the GPU directly. I did this and it was awesome. It was a few years ago so I don't remember all the details but at a high level, you are writing HLSL (high level shader language) that gets converted into bytecode and eventually runs on the GPU itself allowing you to do cool effects like fog, shadows, particle effects like smoke etc.

    This guy's site rocks. He has a book too.
    Riemers XNA Tutorial > The first triangle

    Thats the triangle tutorial. You need to understand how to display a single triangle on the screen, move it in world space, rotate it etc. Then you can get into controlling the camera with the mouse or keyboard for example.

    You need to download XNA studio 4.0 and get to work. But go guy a book first. Something simple to get started with.

    PM me and I'll send you my email address in case you need more info.

    MSFT has a bunch of sample xna code here you can download and run.
    App Hub - content catalog

    Use the filter at the right to change the demos shown. I used tank on a heightmap as a starting point and added some custom code like turret and wheel control.
    BSBA CIS from TESC, BA Natural Science/Math from TESC
    MBA Applied Computer Science from NCU
    Enrolled at NCU in the PhD Applied Computer Science

  3. #3
    laoshijeff is offline Minor Noble
    Join Date
    Jan 2011
    Posts
    26

    Default

    Oh wow, both those links are great resources. As far as programming goes, I much prefer using Microsoft products so XNA will be a great starting point for me. Plus, the App Hub website also has some excellent tutorials on developing for the Windows Phone.

    I remember a while back someone had mentioned programming stuff and you said to practice with retrieving information from databases and etc. therefore I've also been going through the MSDN tutorials on building applications over databases and I'm starting to tackle WPF/database work too.

    What are some other must learn skills right now especially since I'm going the path of becoming a .Net developer?
    CLEP US History 1 - 72
    CLEP US History 2 - 69
    CLEP Principles of Management - 63
    CLEP Principles of Marketing - 64
    CLEP Information Systems - 75
    CLEP Principles of Macroeconomics - 67
    CLEP French - 68
    CLEP Humanities - 73
    CLEP Introductory Business Law - 61
    DSST Organizational Behavior - 68
    DSST Business Ethics and Society - 449
    DSST Management Information Systems - 474
    PF Financial Management
    ALEKS Statistics
    ALEKS Business Statistics
    ALEKS Trigonometry


    “People who are unable to motivate themselves must be content with mediocrity, no matter how impressive their other talents.” - Andrew Carnegie

  4. #4
    ryoder is offline King / Queen
    Join Date
    Nov 2010
    Location
    Tampa, FL
    Posts
    2,056

    Default

    Yes although it may seem boring, it is what I do on a daily basis.
    We build custom apps that the business people use to do their jobs.

    So try to build something real. Something that takes input, stores data, retrieves the data, operates on it and stores it again/outputs to the screen etc.

    Make sure you know how to securely log the user in, present forms with validation and required fields, enforce business rules, and store the data correctly in the database.

    In C# you have web and winforms, so learn both but realize that if you interview for a job, it will be one or the other so know what they will be asking you going in.

    The XNA stuff is great fun and you will learn a lot by building some sample apps and demos but not many development jobs for XNA exist so if you want to get paid, be realistic.

    I personally went through a bunch of the tutorials I sent you and I really enjoyed them. It has been 3 years though so I am a little rusty.
    BSBA CIS from TESC, BA Natural Science/Math from TESC
    MBA Applied Computer Science from NCU
    Enrolled at NCU in the PhD Applied Computer Science

  5. #5
    laoshijeff is offline Minor Noble
    Join Date
    Jan 2011
    Posts
    26

    Default

    Oh yeah, I definitely don't expect to get a job doing any of the 3D programming stuff/ XNA. All of those projects will be my fun projects. I'm quite alright with the business programming side of things. Programming is becoming something to me that will both be my work and my fun.

    Thanks for all your help with this! I'm planning on taking the feedback and running with it. I'll be sure to implement all of those tasks into my project that I want to do for my portfolio. Thanks for giving me more direction.
    CLEP US History 1 - 72
    CLEP US History 2 - 69
    CLEP Principles of Management - 63
    CLEP Principles of Marketing - 64
    CLEP Information Systems - 75
    CLEP Principles of Macroeconomics - 67
    CLEP French - 68
    CLEP Humanities - 73
    CLEP Introductory Business Law - 61
    DSST Organizational Behavior - 68
    DSST Business Ethics and Society - 449
    DSST Management Information Systems - 474
    PF Financial Management
    ALEKS Statistics
    ALEKS Business Statistics
    ALEKS Trigonometry


    “People who are unable to motivate themselves must be content with mediocrity, no matter how impressive their other talents.” - Andrew Carnegie

  6. #6
    rebel100's Avatar
    rebel100 is offline King / Queen
    Join Date
    Sep 2010
    Posts
    2,215

    Default

    Geeks


    Wish I could understand half of this thread! Lol
    MBA, Western Governors University February 2014
    BS Charter Oak State College November 2011
    AS in EMS August 2010

  7. #7
    FinancialWorld's Avatar
    FinancialWorld is offline Baron / Baroness
    Join Date
    Aug 2009
    Posts
    416

    Default

    Quote Originally Posted by rebel100
    Geeks


    Wish I could understand half of this thread! Lol
    Yeah I was thinking the same thing. Its like another language, I'm just understanding bits and pieces.

  8. #8
    irnbru's Avatar
    irnbru is offline Baronet / Baronetess
    Join Date
    Oct 2008
    Posts
    389

    Default

    When I learned to code in c++ back in the mid/late 90's, there wasn't even an STL for it (borland c++ 4.5 then gcc, later). My first language was basic on the atari 8bit and qbasic so when I rediscovered java and then that c++ had an stl it was a total eye-opener.

    There's a good 3d api available in unity which is interesting, but as has already been stated, getting to grips with opengl is probably a better all-rounder. I just noodle these days and between buying a mac just for iphone development or coding something basic in java or visual basic, if you google for tutorials with something specific in mind you can find what you need. What do you want to do?

    edit: if you understand the underlying maths, which means a bit of calculus, then coding in 3d is a hell of a lot easier. You know what, even a bit of assembly and converting stuff into hex->binary (6502 machine code, baby!) to directly play with the cpu can be interesting (although you won't want to stay there )
    Last edited by irnbru; 07-26-2011 at 04:46 PM.

    Bachelor of Science in Psychology, Excelsior College 2012
    Master of Arts in International Relations, Staffordshire University, UK - in progress

    Aleks
    All courses taken, 12 credits applied
    CLEP
    A&I Literature (74), Intro Sociology (72), Info Systems and Computer Apps (67), Humanities (70), English Literature (65), American Literature (51), Principles of Mangement (65), Principles of Marketing (71)
    DSST
    Management Information Systems (469), Intro to Computing (461)
    Excelsior College
    Information Literacy, International Terrorism (A), Contemporary Middle East History (A), Discrete Structures (A), Social Science Capstone (A)
    GRE Subject Test
    Psychology (93rd percentile, 750 scaled score)
    Straighterline
    English Composition I&II, Economics I&II, Accounting I&II, General Calculus I, Business Communication

    Progress history

  9. #9
    ryoder is offline King / Queen
    Join Date
    Nov 2010
    Location
    Tampa, FL
    Posts
    2,056

    Default

    irnbru - you sound like you grew up on the same stuff I did. That 6502 processor was an oldie but goodie, powering the Atari, Apple and the Nintendo, among others.

    My first computer was the TI 99-4A with the external cassette recorder for storing programs. I then moved into a Tandy Color Computer II, then a Tandy 1000HX with a 3.5" disk drive and in 1990 I built my first computer. It was a 286-16Mhz with 2MB of RAM and a 40MB with a VGA monitor. I thought I was super pimpin. I then added a 2400 baud modem and began downloading shareware on BBSs.

    When I was 17 I was hired as a computer tech at a local computer store and for $5.50 per hour I built 386 and 486 computers, fixed them, setup networks and sold them. It was a great way to learn computer hardware and software diagnostics.

    I actually never did much assembly, maybe some inline assembly here and there for faster BLTing in some optimized graphics code, but recently I am studying for the Computer Organization class and I had to do some assembly. It was fun learning it in a simple to understand way with MARIE. It is a simulated computer with 4K of RAM and about 16 assembly language operations. It is a free download and there are free versions of the book which explains its use online if anybody wants the url.

    I have a love for nostalgia and history so writing a 50 line program to add two numbers and multiply two other numbers is fun for me.
    BSBA CIS from TESC, BA Natural Science/Math from TESC
    MBA Applied Computer Science from NCU
    Enrolled at NCU in the PhD Applied Computer Science

  10. #10
    irnbru's Avatar
    irnbru is offline Baronet / Baronetess
    Join Date
    Oct 2008
    Posts
    389

    Default

    Sounds like you were just a few years ahead of me. First computer in 1989 was the atari 8bit XE gs, or 'games system'; the one which was a last stab by atari at the market. Annoyingly had the option button do the reverse of enabling basic on boot Turbo basic and then an assembly cart was great because it had a number of defined subroutines in assembly which made converting to raw, binary machine code much easier.

    Skipped around a bit then managed to buy a pimped out amiga 1200. Forgot about coding for a while then got a 486 sx 33 with 2mb ram and a 256mb hdd (no Doom for me!) in 1994. Dos 5.0, too.

    Played a bit with qbasic doing silly things like sierpinski triangles (the plot function in qbasic was actually pretty good) before taking some c++ classes around 1997.

    Demoscene was pretty bit in europe and always was quite cool. Have only dipped in and out of coding relative to time available to waste (finding jumps in apps to exploit, etc), since then These days it's about as useful for me as my supposed '3r33t' quakeworld dueling skills, hah. You, on the other hand, come across as a true professional

    edit: missed the bbs scene, entering with a grand slam usr 28.8 in '95. No compuserve or aol, mind
    Last edited by irnbru; 07-27-2011 at 12:03 PM.

    Bachelor of Science in Psychology, Excelsior College 2012
    Master of Arts in International Relations, Staffordshire University, UK - in progress

    Aleks
    All courses taken, 12 credits applied
    CLEP
    A&I Literature (74), Intro Sociology (72), Info Systems and Computer Apps (67), Humanities (70), English Literature (65), American Literature (51), Principles of Mangement (65), Principles of Marketing (71)
    DSST
    Management Information Systems (469), Intro to Computing (461)
    Excelsior College
    Information Literacy, International Terrorism (A), Contemporary Middle East History (A), Discrete Structures (A), Social Science Capstone (A)
    GRE Subject Test
    Psychology (93rd percentile, 750 scaled score)
    Straighterline
    English Composition I&II, Economics I&II, Accounting I&II, General Calculus I, Business Communication

    Progress history

Page 1 of 2 12 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

1 2 3 4 5 6 7 8