CSci 4657 Programming Languages for Client-Server Systems.

[Home] [Syllabus] [Assignments] [Resources] [Course blog]

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, Java servlets, 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 10:30-11:35am
Where: Sci 4655


Elena Machkasova
Office: Sci 2325, Phone: 6308
Office hours: M,F 1-2:30pm, W 2:30-3:30pm, Tu,Th 2-3pm
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 following books are available at UMM library and will be placed in the lab (the dungeon) for the semester. When you are using books in the lab, please handle them gently and do not take them out of the lab.

If you would like to recommend a book that's not on this list, please let me know, I'll include it here.


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

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

Class 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.

Academic dishonesty in any portion of the academic work for a course shall be grounds for awarding a grade of F or N for the entire course.

Other class policies

Exams and quizzes are open book, open notes. You may use any printed materials and any materials handwritten by you. You may use your own graded problem sets and quizzes.

Problem set collaboration policy:

Problem sets are individual work, unless specified otherwise. Discussion with other students (or anyone not in this class) should be limited to general approaches to the problem. All discussions that significantly contributed to a solution must be acknowledged in the beginning of the problem solution.


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.

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. Please contact the instructor or the Disability Services office, 589-6178, Room 362 Briggs Library to discuss accommodation needs.

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.