CSci 4657 Programming Languages for Client-Server Systems.

[Home] [Syllabus] [Assignments] [Resources and Handouts]

Course description: This class will focus on technologies and programming languages used in Web development. We will study client/server protocols; markup and formatting languages, such as XHTML, CSS, and XML; document object model (DOM) and client-side processing languages, such as Javascript; AJAX technology; server-side data storage and processing technologies, such as relational databases and SQL, PHP, Ruby and Ruby on Rails technology, and XSLT (a language for processing XML documents); some aspects of secure data storage and transfer. We will not have time to go into much detail of any of these, but will study the underlying principles of various Web technologies, get a chance to practice them, and explore their applicability in different situations.
4 credits.

On this page you will find information about:

Class meetings

When: M,W,F 1-2:05pm
Where: Sci 2185 and CSci lab (Sci 2650) as needed.


Elena Machkasova
Office: Sci 2325, Phone: 6308
Office hours: M,W,F 2:30-3:30pm, Tu, Th 2-3pm, or arrange by e-mail.
elenam at

Textbooks and other resources

This class is unusual in the sense that there are no designated textbooks. We are covering such a variety of technologies and languages that it's impossible to find a book that covers all (or even a majority) of them. You are encouraged to use various online resources and/or books on these subjects. Some book choices are listed below. If you get your own copy of any of these books, try to share it with others in the class.


The grade for this course will be based on the following:

Problem sets and lab assignments 60%
Midterm exam 1 20%
Midterm exam 2 20%

Minor (up to 5%) adjustments may be made to this grade distribution based on how the course progresses. Such adjustments (if any) will be announced in class.

Grading policies

Basic Grading Scheme: (100-90)% A; (90-80)% B; (80-70)% C; (70-60)% D; below 60% F. Small adjustments may be made for particularly good final exams, class average and other signs of individual effort.

Official Grading Policies:

A achievement that is outstanding relative to the level necessary to meet course requirements.
B achievement that is significantly above the level necessary to meet course requirements.
C achievement that meets the course requirements in every respect.
D achievement that is worthy of credit even though it fails to meet fully the course requirements.
S achievement that is satisfactory, which is equivalent to a C- or better (achievement required for an S is at the discretion of the instructor but may be no lower than a C-).
F (or N) Represents failure (or no credit) and signifies that the work was either (1) completed but at a level of achievement that is not worthy of credit or (2) was not completed and there was no agreement between the instructor and the student that the student would be awarded an I (see also I)
I Incomplete. Assigned at the discretion of the instructor when, due to extraordinary circumstances, e.g., hospitalization, a student is prevented from completing the work of the course on time. Requires a written agreement between instructor and student.

Other class policies

For policy on late and missed work please see the syllabus.


One credit is defined as equivalent to an average of three hours of learning effort per week (over a full semester) necessary for an average student to achieve an average grade in the course. For example, a student taking a four credit course that meets for three hours a week should expect to spend an additional nine hours a week on coursework outside the classroom.

Academic dishonesty:

Scholastic dishonesty is defined in the University Student Conduct Code. If in doubt as to how the code is applicable to a specific assignment or other course-related work, please ask.

Academic dishonesty in any portion of the academic work for a course shall be grounds for a penalty, up to and including awarding a grade of F or N for the entire course.

Problem set collaboration policy:

Problem sets are individual work, unless specifically designated as work in groups. For guidelines on work in groups please see the syllabus. Discussion with students other than those in your group (or anyone not in this class) should be limited to general approaches to the problem. All such discussions as well as use of sources other than the textbook and the handouts given in class must be acknowledged in the beginning of the problem solution.

Classroom conduct:

Students are expected to interact with the instructor and other students with respect and courtesy. Students should attend every class session prepared to learn and work. Participation in class is expected, which includes both listening and speaking up. Students are expected to ask questions about the course material as needed, either in class or during the instructor's office hours, or by e-mail.

Do not use cell phones or other loud or otherwise disruptive equipment in class without the instructor's consent. Students whose behavior is disruptive either to the instructor or to other students may be asked to leave. Students whose behavior suggests the need for counseling or other assistance may be referred to counseling services. Students whose behavior violates the University Student Conduct Code will be subject to disciplinary action.

Accommodations for students with disabilities:

It is University policy to provide reasonable accommodations to students with disabilities. This publication/material is available in alternative formats to persons with disabilities upon request.
Students who may benefit from these services are strongly encouraged to contact the Disability Services office, 589-6178, Room 362 Briggs Library to discuss accommodation needs.

Sexual harassment policies:

University policy prohibits sexual harassment as defined by the University of Minnesota Regents' policy.

The views and opinions expressed on this page and on the linked course pages are strictly those of the page author. The contents of this page have not been reviewed or approved by the University of Minnesota.

Valid XHTML 1.0 Strict Valid CSS!