CS 436/636: Database Application Development

University of Massachusetts Boston
Spring 2026

Important Info & Links

Important Upcoming Dates

  • Assignment 1 Due Date: Feb 19
  • Project & Group Finalization: Feb 24

Course Description

Data is everywhere. As scientists, users, and citizens, we are both generating and exploiting large, ever-growing, diverse sets of data. For several applications – ranging from scientific discovery to business analysis, governance, and everyday activities – we are directly using and indirectly affecting hundreds of data systems! The big challenge is to turn data into useful knowledge, and to do so quickly, in order to increase the impact of the new insights. From an application perspective, achieving these goals comes with a number of technical challenges. How to exploit the continuously evolving hardware (storage, computation, network)? How to collect all incoming data efficiently? How to query dynamic collections of data that keep accumulating incoming data? How to parallelize query processing from one core to a few (scale-up), and then to thousands (scale out)? What are the needs of evolving workloads (hybrid transactional/analytical processing, graph analytics, Internet-of-Things, micro-payments, monitoring)? In this course, we will discuss how to design data systems/applications that can address these challenges. We will start with the core concepts of database internals, covering entity-relationship and relational data models, commercial relational query languages (SQL and relational algebra), file organization, storage and memory management, indexing and hashing, and query optimization. We will then study in detail aspects related to developing database applications, that is, software systems that solve a particular real-world problem and hold their data in a relational database. The application has a realistic user interface. Students will work in small groups on a real-world project specified and implemented during the term. Topics include system specification from user needs, analysis of data flow and workflow, object design, database design, client-server techniques, and rapid prototyping systems. Finally, we will cover new research and trends in data management including Big Data and NoSQL databases.

Course Objective

The objective of this course is to provide students with the core concepts and practical skills required to design and develop effective database-driven applications. Students will learn how to model, store, and query data using relational databases, understand key database internals, and address performance challenges. Through hands-on, team-based projects, the course emphasizes translating real-world requirements into complete applications, while also introducing emerging trends such as Big Data, NoSQL systems, and cloud-based data management.

Prerequisites

CS 310, CS 430/630. Knowledge of C++ and Java, data structures, and algorithms is required.

Grading

  • Participation: 5%
  • Assignments: 25%
  • Midterms: 35%
  • Paper Presentation: 10%
  • Project: 25%
  • Please note that in CS 436, the paper presentation is optional, and the course project will be tailored to the CS 436 curriculum.

Attendance Policy

Class attendance is mandatory, and students are expected to participate actively in class by asking and answering questions. In case of missed class, students are responsible to get up-to-date with course materials and announcements.

Collaboration Policy

You are strongly encouraged to collaborate with one another in studying the lecture materials. You may discuss ideas and approaches to the assignments and projects with others (provided that you acknowledge doing so in your solution), but such discussions should be kept at a high level, and should not involve actual details of the code or of other types of answers. You must complete the actual solutions on your own.

Student Conduct

Students are required to adhere to the University Policy on Academic Standards and Cheating, to the University Statement on Plagiarism and the Documentation of Written Work, and to the Code of Student Conduct as delineated in the University Catalog and Student Handbook. The Code is available online. More details can be found here.

Accommodations

If applicable, students may obtain adaptation recommendations from the Ross Center for Disability Services and consult with the professor.

Tentative Schedule

Schedule subject to change.

Instructor

Tarikul Islam Papon
Assistant Professor, Computer Science
UMass Boston

Email: t.papon@umb.edu
Office: McCormack Hall, 3rd Floor, M-3-201-28
Office Hours: Tue and Thu, 9 – 10 am or by appointment