For me, coming up with my capstone was easy. Last summer I took a course in web development at the New York Code + Design Academy. I really enjoyed it and once I completed the course, I had a strong feeling that I wanted to find a career in web development. It’s a really interesting field and it’s growing more and more as years pass. So, I decided to focus my capstone on improving my knowledge and experience with web technology.
My website has more than the projects -- I am in Senior Computer Science and I wanted an easy way to keep track of the assignments I completed, so I put them on my GitHub account. I have provided a portal to my GitHub on the website as well as a page detailing some of my favorite projects I’ve done for the class. I also have a blog on tumblr where I have kept track of my capstone’s progress over the months.
The final product is online at http://raz1.com/.
NOTE: some of these sources I did not cite in MLA format because I was citing the entire website as a source.
Stack Overflow. http://stackoverflow.com/
Stack Overflow is the most popular branch of the Stack Exchange Network. Like all Stack Exchange sites, it is a question and answer forum. Stack Overflow specifically is centered around programming and coding topics. It has a system that allows users to vote for the best answer to a question, assuring that the original asker and any other viewers with the same question are answered as completely as possible.
Stack Overflow is a popular option among web developers and has been extremely useful for me over the past several months that I’ve been working on my capstone. Its voting system combined with a round-the-clock team of moderators (who are mostly professionals in computer-related subjects) makes it a very trustworthy source of information. If you have any sort of programming or coding question, chances are it’s already been asked and answered on Stack Overflow.
W3Schools Online Web Tutorials. www.w3schools.com
W3Schools has been criticized for making its content too simplified for users who are new to web development. I think this criticism is accurate but I think its simplicity is helpful -- when learning a new concept or trying to wrap your head around object-oriented programming the easy explanations and basic examples are conducive to “getting it.” For the more experienced developer, Mozilla is probably a better option.
Mozilla Developer Network. https://developer.mozilla.org/en-US/
Firebase Web API. https://www.firebase.com/docs/web/api/
Udacity Nanodegree. https://www.udacity.com/
Udacity is an online classroom offering “nanodegrees” in web development. These “nanodegrees” are certificates that one has completed the Udacity course, which takes roughly 6 to 8 weeks with a few hours spent learning per day. It was founded by Sebastian Thrun, a former Google VP and Professor of Computer Science at Stanford (read: really smart guy). Udacity also offers courses on other computer-related subjects, such as building robotic cars.
Once I’m near the end of the year I plan to start the Udacity nanodegree in web development. The goal of my capstone is to learn as much as possible this year to prepare myself for a potential career in web work, so though I have not used this source yet, it will be useful in a few months. I am waiting for the end of the year to start it because I will have more free time then to complete this fairly demanding program.
Ellingwood, Justin. “How To Launch Your Site on a New Ubuntu 14.04 Server with LAMP, SFTP, and DNS | DigitalOcean.” DigitalOcean. N.p., 13 May 2014. Web. 12 Jan. 2016. <https://www.digitalocean.com/community/tutorials/how-to-launch-your-site-on-a-new-ubuntu-14-04-server-with-lamp-sftp-and-dns>.
DigitalOcean is an online cloud infrastructure that provides developers with online servers. Basically, it’s a website hosting program. It’s the one I chose to host my website. This article I found on their forums is a guide on how to launch a website on an Ubuntu server using their service.
This source was very helpful as there isn’t a guide for this particular process anywhere else on the internet. It’s accurate, readable, and isn’t too technical. It does rely on the user’s knowledge of other process required for the launch such as installing a LAMP (Linux, Apache, MySQL, PHP) stack, but it provides links to guides on these processes.
Carranza, Pablo. "How To Use Filezilla to Transfer and Manage Files Securely on Your VPS | DigitalOcean." DigitalOcean. N.p., 17 October 2013. Web. 12 January 2016. <https://www.digitalocean.com/community/tutorials/how-to-use-filezilla-to-transfer-and-manage-files-securely-on-your-vps>.
DigitalOcean is an online cloud infrastructure that provides developers with online servers. Basically, it’s a website hosting program. It’s the one I chose to host my website. This article I found on their forums is a guide on how to transfer and manage files using Firezilla.
This article was super useful because transferring files from my computer to the server is roughly ten percent of the time I spend working on a project. In order to make changes to my website, I have to modify its files on my machine and then upload them to the server. This process is especially necessary during debugging, when I need to make changes and until I fix whatever problem I’m having.
Ellingwood, Justin. “How To Install Linux, Apache, MySQL, PHP (LAMP) stack on Ubuntu 14.04 | DigitalOcean.” DigitalOcean. N.p., 18 April 2014. Web. 14 January 2016. <https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu-14-04>.
This is another guide I found on DigitalOcean’s site that I used to launch my website. This article specifically explains how to install Linux, Apache, MySQL and PHP (LAMP) on an Ubuntu server.
This article was useful to me because Linux and Apache are, for my website, necessary components. In order to manage the site’s files I need control of the terminal, which is provided by the Linux operating system, and in order to actually host the files I need a web server, which is provided by Apache. MySQL is a database language and PHP is a dynamic content language, both of which my website has alternatives for.
The guide itself, like most of the other DigitalOcean guides I have found, is very clearly written and not too technical or abstruse. It can be a little intimidating to someone who has never used the terminal before and the guide doesn’t completely parse and explain the lines it tells you to run, but it’s reasonable since the audience of this source most likely has at least some experience running shell commands.