Take the 2-minute tour ×
Web Applications Stack Exchange is a question and answer site for power users of web applications. It's 100% free, no registration required.

I'm reaching out to you guys in the hopes that may be you can help guide me in the right direction. That is, I'm a guy who uses computers everyday, understands the general concepts of how web sites and computers work together, but has no real connection to the world of programming to know where to really start learning the tools he needs in order to get what he needs done. To give you a better idea of where I'm coming from, here's my history:

TL/DR: I can use computers, I understand programming concepts, I just don't know which languages to learn or how to interface with them professionally.

  1. I started using computers when I was ten. At the time, I was playing Oregon Trail in our sixth grade computer class on Apple Power PC's. I got really attracted to games from my old SNES and wound up getting a computer in seventh grade, a crummy, but at the time awesome, Compaq connected with AOL 3.0 - beeep buzz beeep beep buzzz "Welcome! You've got mail!" - my mom hated my computer lol.

  2. I used computers mostly for chat but had so much fun with them that I took a class in ninth grade on computer programming. We learned how to use QBASIC and that started me on the track to understanding computer programming logic. The class was paired with my geometry class, so we wrote alot of math type programs. At the time, I played an online game called Everquest and became really fast at typing.

  3. In my senior year, I took a class offered at our school from CISCO to understand how networks worked, though by that time I was already putting computers together by getting parts from the local computer faire; getting called on to fix other people's computers; installing and configuring my own operating system; and always playing with software.

  4. In college, I took a computer science class that introduced me to C++ and taught me some more fundamental concepts of computer programming and logic such as recursion. Also at the time, my friend got me a job as a medical biller and through that job, I learned concepts of database management, storage and maintenance.

  5. I went to graduate school to study public health and learned biostatistics in great detail, learning how to program in SAS and SPSS (and very minorly in R).

The problem I have is this: computer programming was never a pervasive discipline taught in my areas of study (biology, medicine and public health), even though so many of the problems in those fields require innovative solutions that can be reached with new software development. I know how you might feel about having even one more coder out there, but I feel that I fall into that category of a person for whom programming is important... in the right context.

As it stands, I've studied public health (specifically epidemiology and biostatistics) for over six years, have a deep understanding of it's methodology and realize that one very critical weakness is that countries who need to improve their public's health the most are also the countries that have the least understanding of how public health works at all. My objective therefore is to provide free, rich, educational material to the world in a web or mobile format.

Toward this aim, I've already begun to create YouTube video tutorials that teach how to program in SAS, but I would like to provide more help and content than I can through YouTube. I believe creating a web site or mobile application that would incorporate user profiles, track course completion status & award achievements and even provide a community forum where users can discuss the lessons they learn - would help bring this type of much needed education to the lower socioeconomic countries that need it the most. The most critical aspect to learning is to be able to see and do that which you are learning, which is why I feel like a public health education system needs to be able to track users progress and provide them with actual real-world examples that they can work through to apply what they're learning.

From a technical point, I feel like I have a general idea of which way to go:

  1. I need to learn javascript to create the terminal that users will write SAS code in, as well as the forms for questions and answers for the work-through examples. To this end, I've already begun to learn to program Javascript on Codeacademy.com. So far, however, Codeacademy only provides their own little terminal to enter javascript code. What is the better programming environment to create javascript content? I have no idea. Like what is widely used and efficient system? When I learned C++, we used emacs as a terminal; and I know javascript can be written in basically notepad, but what is the stronger more robust environment that will tie things together neatly and more likely what an actual computer programmer is using?

  2. I need to learn how to save user profiles, including information on course completion, achievements and other user-specific data in a solid back-end database. I don't know which direction is best to go in this regard: SQL? MySQL? Also, how do I tie it to the data on the web site? My background in epidemiology is heavily data-centric, so storing data efficiently is important; but I want to create a way for the web site to let users sign in and continue where they left off, and what would be used today eludes me. I simply can't find resources out there which explain what is the better back-end option.

  3. I need to design and format the entire web site. I'm already working on this by drawing out each page of the site physically, preparing literally hundreds of pages of actual content to fill the site with and preparing lessons using actual data and problems that are current, in the scientific literature, and will be educational and applicable for lower socioeconomic countries. From the technical standpoint, I know I should use CSS and HTML5 to design the web site itself and am learning those concepts on Codeacademy as well. I am also getting Dreamweaver to try and tie everything for the site together through there as I once took a web design class that taught me how to use Dreamweaver in a very basic sense as well.

I know this is a seriously long post and I'm sorry if it's unwelcome. I've just been frustrated trying to find out where to learn these things and thought that someone here might be able to set me in the right direction.

Thanks again for your time and hope this letter can make it through to you without interfering with your time too much. Thank you!

share|improve this question

closed as off topic by Alex, Mehper C. Palavuzlar, phwd Jul 1 '12 at 17:12

Questions on Web Applications Stack Exchange are expected to relate to web applications within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here. If this question can be reworded to fit the rules in the help center, please edit the question.

Break your questions into separate questions and search first on programmers.stackexchange.com for learning programming and stackoverflow.com for actual code. These questions have been asked many times in one form or the other. –  phwd Jul 1 '12 at 17:15

1 Answer 1

A web-application really has two parts -- the bit that runs in the browser (HTML + Javascript) and the bit that runs on a server. There are many "stacks" or collections of apps that run on the server, working together.

For example the famous LAMP stack = Linux, Apache, PHP, MySQL. Google for LAMP (WAMP) to learn more about each component.

You'll find many php examples - from simple to complex that allow HTML based interaction with a database.

A more "modern" approach: at least stuff that's in vogue at the moment is using nodejs (which replaces the Apache/PHP components of the LAMP stack). There's lots of 1-page examples using nodejs to build database backed web-apps. The classic "todo" app for example.

Another way (on Windows at least) is to use Manos/Nancy/ServiceStack ... seriously look at ServiceStack, it has excellent documentation, examples and enough code to get you productive in days.

If you want to drown in information :) look at asp.net mvc (not saying it's bad, but there's a lot to take in). The reason I'm suggesting it, is that there's brilliant video tutorials for asp.net mvc all over the web. Use your google-fu.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.