CS457 Syllabus & Progress

CS377 Syllabus & Progress

To save an example from a webpage, do the following in Netscape:
     Click File -> Save As
     Complete the file name in the "Selection" box
       (Make sure you specify the right directory name and file name !)
     Click OK when the file name is right

  1. Managing Information using Computers:

    Hand out Project 1: click here

  2. Data modeling using the Entity-Relationship model (Chapter 3)

    Hand out Homework 2: click here

  3. The Relational Data model (Chapter 5 in book)
    • Introduction:

    • Designing a relational model from an ER-model - part 1, the entities: click here
    • Designing a relational model from an ER-model - part 2, the relationships: click here

    • Representing ternary relationships in Relational Model: click here

    • Looking ahead: Defining the tables of a Relational Model: click here

    Hand out Homework 3: click here

  4. Relational Algebra

    • Introduction to data manipulation: click here

    • Introduction to Relational Algebra: click here

    • (Mathematical) Set operations: click here

    • Database specific operations:

    • The Set Division operation:
      • Intro: click here
      • Expressing the Set Division operation in other Relation Algebra operations: click here --- skipped to save time

    • Set functions: click here

    • Forming groups and using Set Functions on groups:
      • Forming groups and applying a set function on individual groups: click here
      • Forming groups using multiple attributes: click here
      • Applying multiple set functions on groups: click here
      • Lose ends: (1) Formal notation, (2) giving name to set function results (3) one group: click here

    • Practicing queries in Relational Algebra: click here

    • A "systematic" query formulation in Relational Algebra: click here

    Hand out Homework 4: click here

  5. (Tuple) Relational Calculus --- skipped in Fall 2017

  6. SQL - Structured Query Language

    • Query (select) formulation - part 2: group selection (group condition)

    • Nesting set-functions: click here

    • Doing grouping SQL queries using a sub-query: click here
    • Advanced group queries: click here

    • Systematic query formulation in SQL: click here

      • Using count(distinct ...) set function to solve subset/superset queries: click here --- unnecessary material (cover if we have extra time)

      Hand out SQL project 2: click here

    • Miscelaneous Features of SQL (loose ends, including sorting): click here

    • Insert, Delete and Update commands: click here
    • Brief intro to transaction processing (using MySQL): click here

    • Views (Logical Tables) and Logical Data Independence: click here

  7. Stored Procedures (in MySQL) (SKIPPED in Fall 2017 to save time for other stuff)

  8. Accessing MySQL with the C programming language (SKIPPED --- the prereq course CS171 does not cover C)

  9. JDBC: a Java library class for accessing Relational DBMS

  10. Java GUI programming

    • JDBC makes it possible to develop database applications that runs inside a Webbrowser (i.e., Java applets)
    • Applets are graphical applications and you need to learn Java GUI programming to write Java applet

    • Intro to Java graphical programming: click here

    • Containers: JFrame and JPanel:

    • "Normal" components: labels, buttons, etc

    • Layout - Placement of graphical components:

    • Event-driven programming - Making components active:

    • Some examples in Java Graphical programming:
      • Example 1: compute the average of a list of numbers: click here
      • Example 2: copy the text from input window to output window: click here

    • Writing Java Applets (skipped): click here

      Hand out JDBC project: click here

  11. Web Access of Dababases

  12. Database Design using decomposition to 3NF/BCNF

  13. Database Design using the synthesis algorithm to the 3NF

  14. Transaction Processing --- if time permits....

    Under construction...
  15. Concurrency Control (Chapter 18)
  16. Recovery (Chapter 19)
  17. Oracle Pro*C embedded SQL environment: click here