CSC417 Syllabus

  1. Course number and name

    CSC417 – User Interfaces

  2. Credits and contact hours

    3 Credit Hours

  3. Instructor’s or course coordinator’s name

    Instructor: Dr. Robert Kline, Associate Professor of Computer Science

  4. Text book, title, author, and year

    • Java Swing, 2nd edition, Mark Loy et. al., O'Reilly, 2002
    • Php in Action, Dagfinn Reiersol, et. al., Manning, 2007

    Other Supplemental Materials

    The Instructor's website:

  5. Specific course information

    1. brief description of the content of the course (catalog description)

      This course deals with database-driven graphical user interface applications. The Model- View-Controller software paradigm is used as a guiding principle for the applications developed. The course features applications using Java-based components as well as web-based components with a modern server-side scripting language such as PHP. Most of the course work is based on developing a complex, large-scale web database system with the goal of implementing this system within a web application framework.

    2. prerequisites or co-requisites

      Prerequisite: CSC 241: Data Structures and Algorithms, or permission of instructor.

    3. indicate whether a required, elective, or selected elective course in the program

      Selected elective (student must take one of: CSC417, CSC416, CSC496).

    1. specific outcomes of instruction

      • Students will learn to apply the MVC (Model-View-Controller) paradigm to a variety of graphical user interfaces
      • Students will create application which includes a graphical user interface front end and database back end.
      • Students will learn web application programming skills in one key new scripting language (Php) plus several other auxiliary languages (HTML, JavaScript) using a client-side toolkit such as jQuery.
      • Students will learn to develop large scale web applications using a web development framework such as Zend/Php, in which key programming components are split into multiple parts according to the MVC design principle.
    2. explicitly indicate which of the student outcomes listed in Criterion 3 or any other outcomes are addressed by the course.

      Course addresses Student Outcomes (a), (i), (k) and (n).

  6. Brief list of topics to be covered
    • Java JDBC database programming with MySQL.
    • Basic Java Swing components, GUI applications, MVC design.
    • Topics in Java Swing: JTrees, etc.
    • Php language basics.
    • Php form entry scripts and session management.
    • Php database access with ORM (Object Relational Mapping).
    • jQuery and AJAX.
    • A Php-based Web framework.