Syllabus for CSC 341: Open Source Application Development (Fall 2017)


line


Contact Information
Thomas E. Blum
Office: Holroyd-133
Office Hours:
  • Tues. 2:00 - 3:00 (Holroyd 133 or Holroyd 124)
  • Wed. 9:30 - 10:30 (Holroyd 133 or Holroyd 124)
  • Fri. 1:00 - 2:00 (Holroyd 133 or Holroyd 124)
  • Or by appointment
Phone: 215-951-1139
e-mail: blum@lasalle.edu
Web: http://www.lasalle.edu/~blum
Department office: Holroyd 123
Department phone: 215.951.1130

Topics: Students will develop web solutions that integrate client (HTML, CSS and JavaScript/jQuery) and server side (PHP) interfaces. The emphasis for the course will be on development for server side, with results being viewed and designed for the client. At least half of the course will include database maintenance (mySQL) using the open-source solution, including development of authentication and authorization.

Meetings (Time and Place)

Evening section: Monday, Wednesday, Friday 10:40-11:30 in H-120

Holidays:
Labor day: Sept. 4
Mid-semester break: Oct. 16-17
Thanksgiving: Nov. 22-24

Course Calendar Link

http://www.lasalle.edu/~blum/c341-cal-f17.htm

Text:

None required

Resources:

You need a web/mySQL server that you have some control over. You can bring a laptop or an extrenal drive with a virtual system on it. XAMPP, WAMPServer or MAMP is a convenient way to create a test server.

Relevant Websites:

Learning Objectives

Students should be able to:
  • Explain the difference between open-source solutions including advantages and disadvantages
  • Compare open-source to proprietary development environments
  • Install the open-source development environment
  • Explain the difference between client-side and server-side programming
  • Implement introductory code examples (using variables, control structures, functions, arrays, strings, file processing, etc.)
  • Design and implement a general class
  • Design and implement a solution for a form process including validation and security
  • Implement a server-side solution with persistance using session variables and/or cookies
  • Develop test cases for solution
  • Design and implement a database solution to a proposed scenario
  • Design problem solution to retrieve information from a database
  • Develop maintenance applications for database tables
  • Develop and implement an authentication and authorization system

Assessment:

There will be a weekly lab as well as a weekly homework. There will be three open-book, open-notes exams in which you will write code and a final of the same format. (Tests have multiple parts and span over multiple class perriods.) The various components of the course will be weighted as follows:

        Homework: 20%
        Lab/Class: 20%
        Project: 10%
        Tests: 25% (lowest dropped)
        Final: 25%
or if it benefits the student
        Homework: 20%
        Lab/Class: 20%
        Project: 10%
        Tests: 37.5% (no drop)
        Final: 12.5%
  • The plus/minus grading system will be used.
  • Attendance will be taken.
  • Absences, lateness, inattention, etc. will be factored into the lab/class component of the grade.
  • Over three unexcused absences may result in the reduction of your final grade.
  • One can email solutions provided that they are compressed.
  • Homeworks and labs are due a week after they are assigned. Labs and homeworks submitted after the test on the relevant material will not be eligible for full credit.
  • The lowest of the three test grades will be dropped. The final has a weight equal to two tests. If the final is the lowest grade, it will be counted equal to a test and no test grade will be dropped.
  • Make-up tests are given at the discretion of the professor. If you miss a test, you should assume it will serve as your dropped score unless you have met with me to discuss the reason for missing the exam and to schedule a make-up.
  • All tests are cumulative, though they will tend to focus on and give more weight to the new material.
  • It is your responsibility to keep copies of all of your assignments, tests and so forth at least until you receive your final grade for the course.

Grading scheme:

  • A  94 <= average
  • A- 91 <= average < 94
  • B+ 88 <= average < 91
  • B  85 <= average < 88
  • B- 82 <= average < 85
  • C+ 79 <= average < 82
  • C  76 <= average < 79
  • C- 73 <= average < 76
  • D+ 70 <= average < 73
  • D  67 <= average < 70

Classroom Behavior:

While in the classroom, students should behave in a manner that is neither distracting to nor disrespectful to the professor or other students. Cell phones should be turned off.

Cheating:

When using materials from a book, website, etc., the source must be cited, otherwise it is considered plagiarism. Claiming another's work as your own is cheating. A student caught cheating will receive a score of zero. Repeated cheating can result in a failing grade for the course. Asking another for help on a step or two in a many step homework is acceptable; handing in duplicate or nearly duplicate work is not. If you require a significant amount of assitance, you should seek my help. Finally, openly allowing your work to be copied is also cheating.

Student Resources

https://lasalle.instructure.com/courses/1772 includes links to
  • Student Guide to Resources, Rights and Responsibilites
  • Academic Integrity Policy
  • American Disabilities Act
  • IT Help Desk Support
  • Academic and Learning Support Services
  • Library

line