Monday, February 16, 2009

JavaScript Saga

We will continue with the JavaScript exercise on Wednesday. Also, Pat has just informed me that there were problems with the server so people could not have logged in, as we saw. These problems have now been fixed and you should be able to log in.

The next weeks we will continue to practice JavaScript. It is important that you do all the homeworks, in order. I won't be taking points off for homeworks that are a few days late. I would much rather you take the time to learn the basics of JavaScript than try to move on to even more complicated topics. Note that the rest of this class is about JavaScript (mostly), and everything builds upon the basics we are learning now. Now, go have some fun with JavaScript!

Saturday, February 14, 2009

Bespin: Your Future Developement Environment

Right now everyone uses standard applications such as eclipse, netbeans, aptana, bluefish, emacs, etc. to do their development. We call them IDEs for integrated development environments. However, this will likely change in the future. Bespin is an IDE that runs in the browser. Yes, completely in your browser, storing your files in the cloud. Bespin is written in 100% JavaScript and uses canvas, which we will be learning about later in class, for drawing graphics. The current version is still an alpha release but it is already amazing.

So, go sign up and play with it! In case you are still unsure about what I mean by web applications: Bespin is a web application. This class is about learning to write software such as Bespin.

Friday, February 6, 2009

Design Presentation Slides

Jason Beaird has graciously posted the slides from his talk. They appear below. He has some very good rules of thumb that you should try to apply to all the projects we will be doing in class, starting with Monday's Farmers' Market homework. Note that on Monday's class there will not be any new exercise. I will instead go over each one of your homeworks individually and give you some feedback.

Wednesday, January 21, 2009

Your Grades are in the Mail

I have just sent out an email to each one of you with your quiz 1 and exercise 1 grades. If you did not receive it then please email me since I probably do not have your correct email. I you want to get these emails at a different address just let me know.

Monday, January 12, 2009

First Day

First, thank you all for taking this class. Please, let your friends know that there is plenty of space available. I also want to re-iterate some of the points I made in class today:

  1. There are no in-class lectures in this class. All lectures are streaming videos. The first lecture is posted and is due by Wednesday the 21.
  2. We will meet every Monday and Wednesday in the Linux lab: Swearingen 1D43. Quizes and exercises will be done in class and these count for two thirds of your grade, the other third is the homeworks.
  3. Please subscribe to this blog's feed and feel free to comment and ask questions, that is what the comment section is for.

As always, I welcome any comments and suggestions you might have on improving the class.

The State of the Web

As a practising software engineer it is important for you to keep abreast of what is going on in the business, especially in the fast-changing world of web application development. The State of the Web 2008 survey gives us an idea of what it going on now with the early-adopter web developers (both web designers and web developers).

A couple of findings are especially relevant for this class:

  1. 95% are Javascript developers, and more than half of them are using it for complex interactions or AJAX. Javascript is a basic skill you need to master.
  2. The jquery library is used overwhelmingly. Looks like we will be learning jquery this semester.
  3. Linux and Unix dominate the server room along with apache, as always. Your time spent learning linux basics will be well rewarded.

If you want to more data on which servers and OS are popular on the web, check out the Netcraft survey

Sunday, December 21, 2008

Grading

The grade is based on three aspects:

  1. The Monday quizes. These quizes are quick and meant simply to verify that you are keeping up with the lectures and the readings. Remember that the "lectures" are actually videos that you must watch at home. I might give a quiz even if I have not explicitly stated that I will so, always be up to date on the lectures and readings.
  2. The in-class exercises. These are more in-depth tests of your ability to apply the knowledge you have acquired.
  3. The homeworks. These are longer projects that will challenge your creativity and resourcefulness.

The final grade will be computed using these weights:

Quizes30%
Exercises30%
Homeworks40%

Schedule

Due Date Lecture Required Reading Homework
Jan. 12 Class Introduction. None None
Jan. 14   None None
Jan. 19 No Classes    
Jan. 21 Internet and HTTP  
Jan. 26 HTML and XHTML  
Feb. 2 Cascading Style Sheets  
Feb. 4 Invited Talk: We meet in 2A27
Jason Beaird
Principles of Beautiful Web Design
   
Feb. 9     State Farmer's Market Website
Feb. 11 JavaScript Introduction  
Feb. 16 Advanced JavaScript   JavaScript Homework
Feb. 18      
Feb. 23 JavaScript in the Browser
March 2 JavaScript in Browser and jQuery Brain Age Homework
March 4      
March 9 Spring Break    
March 11 Spring Break    
March 16     Ajax homework
March 18 SVG and Canvas Canvas exercise
March 23     SVG Exercise
March 25 Google Ajax APIs Functional calculator exercise
March 30      
April 1 Gears  
April 6 No classes    
April 8      
April 13     Gradebook web application
April 15      
April 20      
April 22      
April 27      
May 4      

Friday, December 19, 2008

About

Instructor: José M. Vidal
   Homepage: http://jmvidal.cse.sc.edu
   Office: SWGN 3A51
Class Homepage: http://www.csce242.com
Meeting Time: MW 9:05--9:55am. Swearingen 2A27.
Textbook: Recommended books as well as gotapi.com.

This class will cover the development of web applications. We cover all the basic technologies necessary for building web applications as well as new technologies and trends which will used by web application developers in the next decade.

We define web applications as programs whose execution is divided between the web browser (client) and the web server. The client-side is often developed in Javascript while server-side implementations use many different programming languages. Sample web applications include gmail and google maps.

This is an introductory class and no previous knowledge of web technologies or programming is assumed. This class is a pre-requisite for the more advanced CSCE 590: Web applications class. The topics covered are:

  1. HTTP, HTML, XHTML, CSS
  2. Javascript: DOM manipulation, XML, JSON, DHTML, AJAX
  3. Javascript libraries: scriptaculous, jquery, yui
  4. Web application frameworks: Google app engine, Django, Ruby on Rails
  5. Cloud computing: map reduce, hadoop, Amazon's EC2 and S3
  6. Web services and mashups, REST programming
  7. Web applications for the iphone and other mobile devices

No Lectures

Instead of having in-class lectures I have decided to create screencasts of a few of my lectures which you will be responsible for watching. I will also supplement these with other online lectures on by experts on the field. After all, why should you listen to me talk about the birth of the web when you can listen to Tim Berners-Lee instead? There will be in-class quizes to verify that you have seen the lectures and performed the reading for that week. Since we have no lectures, class time will instead be taken up by these quizes and more hands-on exercises, which are also part of your grade, as well as one-on-one help from me. I hope this will provide you with a more personalized experience, and that you will learn faster this way. Because, there is a lot to learn!