Ada-Developers-Academy / LessonPlanning

19 stars 20 forks source link

Ada Developers' Academy

Ada Developers' Academy’s 24-week introduction to web application development is meant to cover both a wide breadth of topics and particular depth into key knowledge areas. At the program’s completion, students will be well on their way to being proficient web developers with the tools and skills to build most web applications.

What are Web Applications?

Static websites and web applications have little distinction to many people. What's the difference?

Static websites are one or more documents that do not (or rarely) change. An example of this type of web content is your local dentist's website. There might be 5 pages: a homepage, rates, location, contact, and testimonials. The content typically does not change, and if it does, an administrator will update the document on the server. Each individual document is transferred and displayed to the requester.

Alternatively, a web application is software that is hosted on a server. The user requests a page in a similar manner to the way they'd visit a static website, but the software receives the request and generates the response (the page) dynamically. This can be seen in Facebook. All of the data is stored in a database. The software determines the most relevant information for the user, formats the data in HTML and sends the dynamic content back to the web browser. Web applications are popular because of their ease of use, access, distribution, flexibility, and maintainability over desktop applications.

Other common examples include:

Development

Web application software can be written in many ways. Software developers will run the application's code on a local server to be able to quickly test and use the application without the need to deploy code to a remote server. Development is often simplified by using frameworks such as Ruby on Rails and shared within a team using version control software such as Git. Developers will build the software according to specs, user stories, wireframes, and guidelines specified by the project owners. Quality assurance (QA) and testing play an important role in the development and maintenance of any web application.

Prerequisites

We want to ensure that everyone coming into Ada Developers' Academy has similar baseline knowledge. Programming simply takes practice, and the more time you devote to it, the better you’ll be. To that end, please carve out some time to prepare for your first day.

Assignments

The following assignments are due before the first day of class. ADA mentors will be available during business hours to help with any problems that you encounter.

Classroom

At ADA, we want to provide a learning environment that is comfortable, positive and packed with learning. To do this, each day will be loosely structured in the following way:

Typical Day

IRC channel

There is a group of volunteers who have offered to hang out online all day to answer any questions you may have as you learn your new craft. They're in an IRC chatroom called #adadevacademy on freenode.

If you're not familiar with IRC, here is a set of instructions that will help you find your volunteer question-answerers:

Obtain an IRC client

IRC clients vary in their features and commands, but that's nothing to worry about. One popular option on Mac is Adium (https://adium.im/). Pidgin (http://www.pidgin.im/download/) is another popular option which runs on Linux, MacOS, and Windows.

Commands preceded by / in the following instructions can typically be typed into an already-open chat window. There should be menus/dialogs/settings in your chat client to accomplish each of these results as well, but we've just included the commands to make things simple.

== Connect to the IRC network==

== Register your nickname, identify, and enforce == If you connect frequently, you should register your nick with the NickServ service. This helps you establish "ownership" over a nickname: you can remove other users who are using the nickname, and it also provides a small amount of protection against people impersonating you using the nickname.

For instructions how to register, type /msg nickserv help register. This will inform you that the syntax for registration is /msg nickserv register [password] [your@email.address.com] You should substitute an actual password for [password]. It is a bad idea to use something easily guessed. It is also a bad idea to use another password for more secure things you do - IRC passwords should not be considered "secure", and it is easy to accidentally type your password into a channel instead of identifying with it (see below). Of course, you should insert your actual email address where indicated above. Then, check your inbox for a message from freenode. It's worth noting that for all of these commands, you don't need the "["brackets"]".

To take advantage of your registration you must identify yourself with NickServ every time you connect. The syntax for this is /msg nickserv identify [password] Your IRC client may provide an option to automatically send this message when you connect. Consult its documentation for more information. If you do not identify with your account occasionally, your registration might be removed by freenode staff if someone else wants the nickname (typically after a period of 60 days).

To change your password, use the command (after identifying) /msg nickserv set password [NewPasswordGoesHere]

IRC clients typically have an option to use an 'alternate nickname' to use if the primary nickname is in use when you connect (for example, if someone else is using it, or if you have been abruptly disconnected and a "ghost" of your original connection remains). Freenode recommends that you group this alternate nick (/msg nickserv help group) to your primary nickname. Once your nick is registered, you can enable 'enforce'. This will force any user claiming the nick to identify with the password within 30 seconds. This protects you from imposters taking your nick while you're offline. Since you configured your client to automatically identify, nothing changes for you (except being protected). /msg nickserv set enforce on

See also: http://freenode.net/faq.shtml#registering

See you online!