CS 199 | Willamette University | Spring, 2019 |
Programming in PHP, Databases with MySQL, and Web Applications |
||
Preliminary Note and Caution: Descriptions for this course represent an approximation for work (topic coverage, class discussion, and labs) for CS 199. In practice, the pace of the course and specific topic coverage will depend upon progress made by students as the semester progresses. The present course description and schedule, therefore, represent a rough estimate of topics and allocated time. Material may be covered more slowly or quicker, as guided by interactions with students through the semester.
This course provides an introduction to computer scripting language, databases, and dynamic Web pages. Imperative problem solving with the PHP scripting language will include variables, functions, conditionals, and loops. Discussions of databases will include tables and their design, utilization of the Standard Query Language (SQL) to specify queries to store and retrieve data,. Study of both static and dynamic Web page will include formatting with the HyperText Markup Language (HTML), retrieval of user data, integration of PHP programming within Web pages, and connections with a MySQL databases.
High-level specific topics may include:
Programming with PHP
Database organization and use with MySQL
Static Web page construction
Dynamic Web page construction
Students should be able to
For the most part, this course will follow a lab-based format:
Class presentations, discussions, and small-group activities will meet Mondays, Wednesdays, and Fridays, 8:00 am - 9:00 am.
Laboratory exercises and activities will take place Mondays, Wednesdays, and Fridays, 9:10 am - 10:10 am.
Office: Ford Hall, Room 210
Telephone: 503-375-5314
E-mail: walker@cs.grinnell.edu
Office hours are posted weekly outside Ford Hall, Room 210, with additional hours possible by appointment. Please feel free to stop by during office hours; I will strive to work with students on a first-come, first-served basis—as time permits.
The following text has been selected to support this course:
While the schedule for this course is expected to evolve, a detailed Tentative Class Schedule is posted with some readings, labs, assignments, examples, etc. This schedule will be updated as the course evolves.
This course includes a variety of activities, including class preparation (reading), labs and projects (started in class and finished for homework), and supplemental problems (some required and some available for extra credit), as well as quizzes, tests, and a final exam. From past experience, the time required for these activities will likely vary substantially from student to student and from one part of the course to another. For example, a student may need to devote considerable time and effort when starting a new or different topic, but the workload may drop noticeably when that material is mastered.
Such variation in student experiences complicates any estimation of the time individual students may need to devote to homework for this course. However, from past experience, students working steadily on the course likely should expect to allocate 10-15 hours per week to homework. Some students may require additional time for some weeks; some students may complete work in less time for some weeks. Conversations with computer science faculty and others suggest this time allocation is consistent with expectations for many courses at Grinnell College.
Course Work will involve a combination of the following activities.
Programming assignments: (done individually) extend the range of problems considered in the course and help sharpen problem-solving skills. Through the semester, these assignments will be due about every other week, on Fridays.
Laboratory sessions: provide practice with many of the concepts and technical elements related to the course. Starting labs during class allows instructor assistance in a "hands-on" setting, and supplements normal office hours. Typically, selected laboratory exercises will be completed collaboratively in pairs and will be due on Mondays.
Quizzes: Brief (15-20 minute) quizzes will be given most weeks (usually on Wednesdays). Eleven quizzes are tentatively listed on the course schedule; in grading, the low score will be dropped.
Tests: Three 1-hour tests are scheduled, on Wednesday, February 27, Friday, March 22, and Friday, April 19.
Exam: A final, in-class exam is scheduled for 8:00-11:00 am, Friday, May 10, following the schedule posted by the Registar.
Deadlines are shown on the Tentative Class Schedule, and work is due at the start of each class specified. A penalty of 25% per class meeting will be assessed for any assignment turned in late, even work submitted at the end of a class. However, an extension of at least one class period is automatically granted if the department's Linux network is down for an unscheduled period of three or more hours during the week preceding the assignment. Normally, a program or laboratory write-up is due every third class meeting.
Although dates for labs, programming assignments, tests, and the final exam are firm, I understand that circumstances arise when you are not able to attend class.
Absolute Deadline: All homework must be turned in by Monday,
6 May at 5:00 pm;
laboratory reports or programs received after
that time will not be counted in the grading of the course.
Collaboration often will be allowed on laboratory exercises, but collaboration normally will NOT be allowed on supplemental problems and tests. To avoid confusion, the rules for collaboration on homework are included in the specification of each assignment.
Cell phones, text-messaging devices, and other social-networking connections may not be used in this class. If you bring such equipment to the classroom, it must be turned off before the class starts and stay off throughout the class period. Use of such equipment is distracting to those nearby and will not be tolerated.
If you have specific physical, psychiatric, or learning disabilities and require accommodations, please let me know early in the semester so that your learning needs may be appropriately met. You will need to provide documentation of your disability to the Director of Academic Advising. Feel free to talk to me if you have questions or want more information.
This instructor's grading philosophy dictates that the final grade should ultimately be based upon each student's demonstration of her or his understanding of the material, not on the performance of the class as a whole nor on a strict percentile basis. The following scheme is proposed as a base for how the various assignments and tests will be counted in the final grade.
Lab Write-ups: 25% | Programming Assignments: 20% | Quizzes: 20% | Test: 15% | Exam: 20% |
created 29 May 2018 revised Summer-Fall 2018 updated 12-15 January 2019 |
![]() ![]() |
For more information, please contact Henry M. Walker at walker@cs.grinnell.edu. |