ClassInfo

IT 232 Web Development II

Craig Miller

Office: CDM 745
Spring 2012-2013
Class number: 35379
Section number: 901
M 5:45PM - 9:00PM
CDM 00218 Loop Campus

Summary

Students build on skills and knowledge from IT 231 in order to design and develop advanced framework-based web appliations. We review framework basics and programming skills while learning new concepts and technologies including user authentication, authorization, Ajax, testing, security threats and performance issues.

Course Goals

By the end of the quarter, students will be able to:

  • Design and develop a web application using multiple tables
  • Implement common schemes for user authentication and authorization
  • Apply object-oriented principles to customize a data model
  • Create rich internet applications using Ajax
  • Systematically test a web application
  • Identify and address security threats
  • Improve application performance
  • Deploy a web application
  • Read technical documentation (APIs) to learn new methods

Tentative Projects

  • Install and test. Install latest version of Rails. Create test application. Report results.
  • Modified scaffold with search. Create a scaffolded application and modify and augment each component. Provide search functionality.
  • App with multiple tables and testing. Create app with multiple relationships, employ formal tests on the models.
  • Complex app with authorization. Create application with at least three tables, complex relationships and various levels of user authorization.
  • App with Ajax. Add Ajax to your application.


  • Texts

    Course Text

    Learning Rails 3
    By: Simon St. Laurent; Edd Dumbill; Eric J Gruber
    Publisher: O'Reilly Media, Inc.
    Pub. Date: July 24, 2012
    Print ISBN-13: 978-1-4493-0933-6

    Learning Rails 3 is available online to DePaul students.

    Useful online references



    Grading

    50% (90 points) Projects
    10% (20 points) Checklist Activity
    15% (30 points) Midterm exam
    30% (60 points) Final exam

    Students receiving more than 90% of possible points are guaranteed at least an A-, more than 80% at least a B-, more than 70% at least a C-, and more than 60% at least a D.

    A checklist will be used to monitor progress in the class. Each checkbox corresponds to an expected activity that should be completed in a timely manner. Typically each week will have a couple of checkboxes for work on assignments, watching the lectures and practice exercises. As soon as you complete an activity, check off that activity in the list. The final checklist score is based on promptness and completeness. A rubric on D2L will be used to assess checklist activity at the end of the term. Checking any uncompleted item as completed warrants a score of zero points (out of 20) for the whole grading category.



    Prerequisites

    The official course prerequisite is IT 231 and IT 211. However, any prior programming experience may count in place of IT 211. In general, students are expected to have prior experience with Ruby on Rails and have basic knowledge of programming concepts (e.g. loops, if statements, objects and method/functions).



    Course Policies

    Students are expected to attend every class or watch the lecture online. Attendance or lecture viewing is documented with the checklist.

    Tests can be made up with a serious documented excuse (e.g. illness, death in the family) and must be arranged as soon as possible. Arrangements involving other excuses require prior permission from the instructor.

    The goal of assignments is to practice the concepts taught in class. You are expected to do your own assignments. However, some collaboration with other students is allowed and even encouraged. The following types of collaboration are allowed:

    • Discussing strategies for solving a problem
    • Explaining why a Web page does not work
    • Reviewing and testing someone else's Web pages
    • Using code provided by the instructor and texts

    The following types of collaboration are not allowed:

    • Copying someone else's code
    • Literally telling someone what code to write

    Engaging in these last two types of collaboration will be considered a violation of the university's policy on academic integrity. Violators will receive a 0 for the corresponding assignment and will be reported as required by the policy.

    Late assignments will be accepted up to 3 days late, with a 1 point penalty. Assignments submitted more than 3 days after the due date will not be accepted without an excused absence cleared by the dean of students office (see forms for submitting an excused absence).

    Additional assignments for extra credit will not be offered.

    All grade challenges must be submitted in writing and include an explanation why the given score or grade should be reconsidered.



    Tentative Schedule

    Week Topic Reading Assignment or Exam
    Apr 1 Course overview, Rails 3 installation, review MVC and ORM concepts and implementation details Ch. 1-3 ?
    Apr 8 Review scaffolding, CRUD, ORM methods, model methods Ch. 4 and 5 Lab 658 second half of class
    Apr 15 Advanced search, Table relationships Class notes, ch. 6, 7, 9 Scaffold modification with search
    Apr 22 Testing and Migrations Ch. 10, 11, 12 ?
    Apr 29 Cookies and sessions Ch. 13 Midterm exam (second half)
    May 6 Login and Advanced authorization Class notes, Ch. 14 App with testing and multiple relationships
    May 13 Authentication; examples Ch. 14, course documents (Lab 658 second half of class) ?
    May 20 Complex authorization, third-party authentication, file uploading Course documents, pp. 119 - 126 Complex app with authorization
    May 27 Ajax Ch. 18 ?
    Jun 3 Deployment, Performance Ch. 20 App with Ajax
    Jun 10 ? ? Final Exam


    School policies:

    Changes to Syllabus

    This syllabus is subject to change as necessary during the quarter. If a change occurs, it will be thoroughly addressed during class, posted under Announcements in D2L and sent via email.

    Online Course Evaluations

    Evaluations are a way for students to provide valuable feedback regarding their instructor and the course. Detailed feedback will enable the instructor to continuously tailor teaching methods and course content to meet the learning goals of the course and the academic needs of the students. They are a requirement of the course and are key to continue to provide you with the highest quality of teaching. The evaluations are anonymous; the instructor and administration do not track who entered what responses. A program is used to check if the student completed the evaluations, but the evaluation is completely separate from the student’s identity. Since 100% participation is our goal, students are sent periodic reminders over three weeks. Students do not receive reminders once they complete the evaluation. Students complete the evaluation online in CampusConnect.

    Academic Integrity and Plagiarism

    This course will be subject to the university's academic integrity policy. More information can be found at http://academicintegrity.depaul.edu/ If you have any questions be sure to consult with your professor.

    All students are expected to abide by the University's Academic Integrity Policy which prohibits cheating and other misconduct in student coursework. Publicly sharing or posting online any prior or current materials from this course (including exam questions or answers), is considered to be providing unauthorized assistance prohibited by the policy. Both students who share/post and students who access or use such materials are considered to be cheating under the Policy and will be subject to sanctions for violations of Academic Integrity.

    Academic Policies

    All students are required to manage their class schedules each term in accordance with the deadlines for enrolling and withdrawing as indicated in the University Academic Calendar. Information on enrollment, withdrawal, grading and incompletes can be found at http://www.cdm.depaul.edu/Current%20Students/Pages/PoliciesandProcedures.aspx.

    Students with Disabilities

    Students who feel they may need an accommodation based on the impact of a disability should contact the instructor privately to discuss their specific needs. All discussions will remain confidential.
    To ensure that you receive the most appropriate accommodation based on your needs, contact the instructor as early as possible in the quarter (preferably within the first week of class), and make sure that you have contacted the Center for Students with Disabilities (CSD) at:
    Lewis Center 1420, 25 East Jackson Blvd.
    Phone number: (312)362-8002
    Fax: (312)362-6544
    TTY: (773)325.7296