CSCI N342 Server-side Programming for the Web Teaching/Learning Goals


The Who and What of N342

Who - Anyone with an interest in understanding implementation of web based systems. Background should include one semester of programming that covers C, C++, Java style languages and basic data structures such as arrays (C201 or other programming experience is sufficient). The course is of interest to anyone seeking skills for building Web systems.

What - The lecture topics cover basic networking protocols and standard practices for implementing web based systems. Main topics include server setup, HTML, client and server side programming.

Weekly exercises closely complement lecture topics. The exercises rely heavily upon the use of several programming languages to test one's understanding of concepts discussed in lecture. While the purpose of the course is not to provide language training for programmers, active learning involvement is best promoted through implementing working systems which, for this course, translates to writing programs. While demanding and numerous, all programming exercises are short, usually one or two pages. A project offers the opportunity to delve deeper into an interesting topic selected by the instructor or class, possible projects include stock trading, a user support system, data acquisition. More specific information can be obtained by reading the following discussion of course goals or by examining exercises listed as home works on the course syllabus



CSCI N342 Learning Goals

The learning goals of each computer science course strive to capture intended learning outcomes. The goals are expressed using the terms that follow. These terms describe the level of familiarity (most to least) with respect to various kinds of material and procedures.

The N342/A548 learning goals cover important areas recommended jointly in a report by the Association of Computing Machinery (ACM) and the Computer Society of the IEEE in 1991 for university computing curricula. These international organizations were established to promote academic and professional excellence in the computer sciences. The complete baccalaureate curricula list consists of nine subject areas, of which a portion are covered in this course, primarily those areas which better prepare the student to succeed in subsequent Indiana University Southeast computer science courses and as professional computer scientists. Several supplementary areas are covered that have developed since publication of the curricula report. Many of these subjects listed below will often recur in subsequent courses and at a level requiring further understanding.
Design of N342/A548 to Achieve These Goals

Computer science demands competency in a range of skills. Therefore, students benefit from the guided practice in the environment of a university class. To facilitate this, N342/A548 includes the following:

  1. Students complete weekly programming assignments aimed at developing the foundational skills. Assignments are graduated in difficulty as is the amount of programming guidance provided the student which decreases through the course.
  2. Class time is divided between instructor lecture and discussion. Individual student questions serve to guide the class discussion.
  3. Structured programming methodology is used throughout the course to assist students in visualizing assignments and solutions, and managing the details of writing Web client/server programs.
  4. Programming exercises are available as Web-pages and are discussed in class when assigned using the pages available to the student.
  5. Most questions arise when students are working on exercises outside of class. Students are encouraged to contact the instructor directly or by emailing their questions and code of the troublesome exercise for guidance.
  6. In recognition that problem solving is often an iterative process, assignments that are less than perfect can be submitted for instructor evaluation, refined and resubmitted for additional credit.

Document last modified: