Classes Taught at CSULB

CECS-323: Database Fundamentals

This is the introductory database class taught at CSULB; it is a required course for the BS in computer science. The class covers the following fundamental topics of database systems: database modeling, relational database design, the relational database model, and the query languages: relational algebra and SQL. The class has a design focus and uses UML to represent database models. The content of the course follows the online tutorial on Database Design with UML and SQL by Tom Jewett. It differs greatly from courses taught at other universities in that the focus is database design and query design skills. Typical undergraduate database courses taught in many computer science departments also teach transaction processsing, concurrency control, additional theoretical query languages, query optimization, etc.

This class is scheduled every semester, typically two different sections.

CECS-423: Database Web Applications in JEE

This is a project intensive class where students work in teams to propose, design and implement a web application that is data-intensive. While the application to be built could take different forms, I have always required that a web application be implemented. Lectures and reading materials teach students the issues and processes involved in designing and implementing a web application and practical database development such as transaction management, stored procedures, triggers, views, database API, etc. I started teaching this class using Perl, then moved to using PHP, and now I use Java EE technology including: Servlets, JSF, JPA.

The course description has recently been updated as follows which better reflects the topics covered in the class. In addition, CECS-423 fulfills the Computer Science Senior Capstone requirement that's effective starting with the 2007/08 catalog requirements.

The class is typically scheduled in Spring semesters only.

For students who want to get a head start, I recommend reviewing your Java programming skills, getting oriented with using the NetBeans IDE, reviewing your database modeling skills. We'll be using several books for resources... the main one will be Beginning Java EE 6 Platform with GlassFish 3 by: Antonio Goncalves. The CSULB library has a license to Safari Books Online which includes this book. If you already have a library id, then use the CSULB library proxy to access this Java EE 6 book.

CECS-470: Web Programming and Accessibility

Web development skills are essential for almost all graduating students. Successful companies not only have a web presence, their entire business may be entirely online. In this class, students learn fundamental skills in the creation of web sites that conform to W3C recommendations with a focus on accessibility. Technologies covered: HTML, CSS, JavaScript, and a web framework (E.g.: Java JSF 2.0, PHP Zend Framework, Ruby on Rails, Python Django).

CECS-429: Search Engine Technology

Information retrieval is a field that studies the technology used by search engines like Google in order to retrieving information (web pages that contain the information) from a collection of documents (the entire web) that satisfies a user request (query). For example, given a collection of documents in the field of medicine, a user may want to know what data exists that links the consumption of red wine to a reduction in coronary heart disease. In this class, I will present some of the traditional information retrieval techniques like the vector space model. After studying the traditional concepts, the class will then move on to study WWW information retrieval. In a traditional IR system, the collection of documents is static. Considering the WWW as a collection of web pages (documents), it is clear to see that this is a dynamic collection. In addition to the changes of web pages and the creation/deletion of web pages, they are also linked together. A WWW IR system must therefore crawl the web to find new/changed web pages, index the terms in these pages, and when a query is presented, it must rank the retrieved pages by a measure that is indicative of the relevance of the web page to the query.

CECS-521: Database Architecture

This graduate course studies the logical and physical architecture of a database system. The topics covered vary each time offered and include the following: database normalization, query processing and optimization, data organization and indexing, transaction management, concurrency control, OLAP, data mining, object oriented database models.

This course is theoretical in nature and there is typically a limited number of assignments of a practical nature. It is typical for a paper project to be assigned; such a paper might ask students to compare the query processing and optimization features of a database system, or to report on object oriented database products.

It is typically scheduled in Fall semesters only