Course Outline: IN, Purdue University

By: Higher Education

Abstract: CPT 450: Client Server Programming

Purdue University
450 Client Server Programming

Course Description

Client/Server computing is rapidly changing how information systems are being built. Tools such as Delphi, Powerbuilder, and Visual Basic allow systems to be prototyped and built at a rapid pace. This course will focus on the design of GUI applications that can be utilized in a Client/Server environment. Windows has become the dominate client interface and will serve as the platform for the applications you will develop. You will gain an understanding of event-driven programming and how it differs from structured programming. Throughout the course you will build applications that have a "shrink-wrap" look and feel. Emphasis will be on the professionalism of design, code, documentation, and most importantly usability of programs.


  • One of the following courses:
      CPT 150
      CPT 155
      CPT 175
      CPT 275
      or equivalent structured programming course
  • CPT 282 or equivalent SQL knowledge
  • CPT 230 & CPT130 (previously CPT 276) are useful but not essential
  • Windows user literacy is expected and will not be covered in the course

Name/Title: Carlin "Rick" Smith, Operations Manager School of Technology<
Office: Knoy Hall of Technology, Room 207
Office Phone: 49-46823
Office Fax: 496-1212
Home Phone: 477-7518 (Emergency use only)
Class Hours: WF 9:30 A.M. - 10:20 A.M., Lab R 8:30 A.M. - 9:20 A.M.
Class Hours: M 9:30 A.M. - 11:00 A.M., R - 9:20 A.M. - 11:00 A.M.

After successfully completing this course, the student should be able to:
  • Develop stand-alone applications that will execute in the following environments; Windows 3.X, Windows 95, and Windows NT
  • Develop applications that make use of local and remote database tables
  • Develop applications that can communicate with other applications installed on a user's system
  • Design distributed applications
  • Understand all aspects of Client/Server Computing



    Vince Kellen, Bill Todd, Delphi Developer's Guide, M&T Books, 1995.


    Charles Calvert, Delphi Unleashed, Sams 1995

Advanced Texts

    Alex Berson, Client/Sever Architecture, McGraw Hill, 1992

    Coulouris, Dollimore, & Kindberg, Distributed Systems, Concepts and Design, Addison Wesley 1994


    For students with a PC capable of running the following software: Borland Delphi. Although Delphi Client/Server will be used in the class most projects can be completed with the "regular" version of Delphi.

COURSE REQUIREMENTS (subject to change with notice)

  • Unannounced quizzes (over assigned reading or previous meeting's lesson)
  • Examinations (mid-term and final)
  • Laboratories
  • Projects

GRADES (subject to change with notice)

Total points scored are weighted by category as follows:

Quizzes 15%
Midterm 15%
Final 20%
Laboratories 20%
Projects 30%

Each student's weighted total score will be used to establish final grades using the following scale:
93 -100% of highest score in class A
85 -92% of highest score in class B
75-84% of highest score in class C
65-74% of highest score in class D
0-64% of highest score in class F
Border line cases will not be rounded up to the next highest grade

PLANNED COURSE OUTLINE (subject to change without notice)
This course will cover as much of the following course topics as time permits:

  • 3 types of Event Models
  • Event Driven Programming
  • Differences between Event Driven and Structured Programming
  • Cascading Events
  • Message queue architecture (single and multiple)
  • Application Programming Interface - API
  • General differences between 3/4GL products
  • Dynamic Link Library - DLL
  • Multiple Document Interface - MDI
  • Preemptive Multitasking
  • Cooperative Multitasking
  • Common Dialog Boxes
  • Graphics Device Interface - GDI
  • Modal and Modeless Dialog boxes
  • Dynamic Data Exchange - DDE
  • Object Linking and Embedding 1 & 2 - OLE
  • OLE automation server and controller
  • OLE "In Process" and "Out of Process"
  • Access keys
  • Shortcut keys
  • Identify at least ten events that occur in Windows
  • Stored Procedure
  • Trigger
  • Two-Phase commit
  • Dynaset, Recordset, Snapshot, QueryDef
  • Replication
  • ACID Test
  • SQL 92 joins
  • Cursor
  • Domains
  • Constructs
  • pessimistic and optimistic record locking
  • Transaction based systems
  • Background processing and idle loop events
  • Tuning issues - Network, Database, Application
  • Inheritance
  • Encapsulation
  • Polymorphism
  • Class
  • Method
  • Visual Component Library
  • Borland Database Engine
  • TSession
  • Recordset
  • Heterogeneous query
  • structured exception handling
  • Delphi32 features
  • 8 principles of user interface design and key points of each
  • 3 types of user feedback
  • 3 key elements of Client/Server Computing
  • 3 elements that comprise tuning of a Client/Server system
  • Business critical versus Mission critical applications
  • Benefits of Client/Server computing
  • Open Software Foundation - OSF
  • Distributed Computer Environment - DCE
  • Distributed Management Environment - DME
  • Multiprocessing
  • Multithreading
  • Disk Mirroring and Disk Duplexing
  • Data Striping
  • Remote Procedure Calls - RPC
  • ANSI/ISO 3 Schema Architecture
  • 1,2, & 3 Tier Client Server Architectures
  • Transaction Managers
  • consistency anomalies

Several WWW sites are for Delphi are available. The bookmark file in the CPT laboratories contains several Delphi specific sites.


COURSE POLICIES (subject to change with notice)

  1. Cheating Policy

    Any student who cheats during an examination or who assists another student to cheat during an examination, will automatically fail the course. Cheating includes using crib sheets, copying answers from another student's exam, use of recording devices, use of calculators or computers capable of storing alphanumeric data, and gaining unauthorized, prior access to exams or answers. Take-home problems and exercises must be completed individually by each student. You are not permitted to solve the problem with any other student, discuss solutions or solution ideas with any other student, or share results with any other student. Cheating includes submitting any other student or person's work as your own (or portion thereof), submitting ghost-written work, submitting results that are not produced by your own program, or similar offenses. Any students who cheat on take-home problems and exercises will receive zero points for that assignment (including the student who actually did the work).

    Documentation for all cheating cases will also be forwarded to the Dean of Students for University action.

  2. Fairness and Consistency Policies

    It is the intention of your instructor to treat all students equally. Please bring to my attention any situation in which I do not afford equal treatment to all students-if I'm wrong, I'll correct the problem!

    Accordingly, there will be no extensions of homework and project deadlines (unfair to those who get the work completed on time). If everyone is late, everyone will be penalized and the "curve" will adjust the final grades.

  3. Attendance, Due Dates, and Late Penalties

    Students are expected to attend every class. Attendance will not be taken. There will be no makeups for missed quizzes, no instructor notes for missed lectures, and no extensions or supplemental instructions for missed assignments. Plan your employment visits, vacations, trips home, and extracurricular activities not to conflict with this course's meetings or assignments.

    Homework and projects are due at the beginning of class on the assigned due date. After the instructor's "last call," the work is one day late (even if turned in later during that class).

    The late penalty for this course is 50% for the first day late and 25% for the second and third days, excluding weekends, university holidays, and university vacations-up until the graded material is returned. After graded material is returned, that assignment cannot be submitted for credit; however, the instructor is willing to evaluate the assignment for zero credit.

    Early examinations will not be given. Makeup examinations will only be given under verifiable, unavoidable circumstances (which does not include employment interviews, plant visits, existing employment work schedules, or extracurricular activities). Makeup examinations will likely be different from the exam given the rest of the class and will not be curved!

  4. Incompletes Policy

    Incompletes will only be given under long-term (more than 1 week) documented illness or approved absence from the University (approval comes from the Dean of Students). In this situation, team deadlines remain firm, however, the individual is not directly penalized so long as any makeup work is completed within a period of time equal to that of the absence-beginning immediately after the absence.

You are responsible for the following policies regardless of whether or not you have read them or taken the time to fully understand them.

    1. Career/Semester accounts are issued for use only by the student to whom the account is assigned. Accounts are property of the Computer Technology Department and shall not be loaned to another student under any circumstances. - your instructors cannot override this policy!

    2. Any software needed for completion of CPT courses is provided by the Computer Technology Department. Accordingly, the use of software not provided by the Computer Technology Department is prohibited.

    3. Any attempt to copy software that is property of the Computer Technology Department will result in the prosecution of the individual for theft.

    4. . Any attempt to modify, delete, add-to, or otherwise render a CPT workstation unusable is prohibited.

    5. Food, drinks, chewing tobacco, or smoking are NOT permitted in the CPT laboratories.

    6. Portable electronic equipment with headphones may be used as long as their use does not interfere with other students.

    7. Using laboratory printers to print multiple copies of documents is prohibited. There are many places on campus and in the surrounding area where copies may be made.

    8. If you forget your password, file a password change request in the CPT main office (Knoy 242). Note: Turnaround time for a forgotten password is a minimum of one day. You will be asked to provide a valid student ID before the request will be accepted.

    9. Your account may grant you access to the Internet. Some services and materials available on the Internet do not have significant educational value. You may not use the Internet to access or download any sexually-oriented material. Also, you may not download any software that may be copyrighted or licensed. Failure to use the Internet responsibly may result in the termination of both Internet and CPT network privileges.

    10. Your account may have electronic mail (e-mail) privileges. E-mail should be used for the purposes intended: important, necessary and meaningful communication between people. You may NOT use E-mail for frivolous, annoying, harassing, or trivial purposes (i.e. flaming or public forum uses). Failure to use E-mail responsibly may result in the loss of E-mail and CPT Network privileges.

Any violations of the preceding laboratory policies may result in the revocation of ALL lab rights. Laboratory access is a privilege and should be treated as such. Some activities may be forwarded to the Dean of Students and could end your career at Purdue.

It should be noted that your CPT instructors are not obligated or encouraged to extend any homework or project deadlines caused by suspension of your CPT Network account for a violation of any of the above policies.

The Computer Technology Department employs paid consultants after business hours and they are instructed to enforce these regulations. They do have authority to ask a student to leave the laboratory if they do not comply with the above regulations.

Server Response from: ETNASC03