Princeton University
Computer Science Department

Computer Science 333
Advanced Programming Techniques

Robert Dondero

Spring 2024


Directory
General Information | Lectures | Assignments | Project | Schedule | Policies

Course Overview

Lecture slides and related files


Version Control Systems

This topic probably will not be covered in face-to-face lectures, but lecture slides and related files will be available.

Lecture slides and related files

Supporting reading:


The Python Language

Lecture slides and related files

Supporting reading:

Supporting reading (regular expressions):


Database Programming

Lecture slides and related files

Daniel Greenberg's SQLAlchemy tutorial slides

Audio/Video Recording of Daniel Greenberg's SQLAlchemy tutorial

Supporting reading:


The COS 333 Project

Lecture slides


Graphical User Interface Programming

Lecture slides and related files

Supporting reading (Python PyQt):


Network Programming

Lecture slides and related files

Supporting reading:


Web Programming

Lecture slides and related files

Supporting reading (HTML):


Server-Side Web Programming: CGI

Lecture slides and related files


Server-Side Web Programming: Python

Lecture slides and related files

Supporting reading (Python web programming, WSGI programming):

Supporting reading (Python Flask framework):


Web Application Deployment

Lecture slides and related files


The JavaScript Language

Lecture slides and related files

Supporting reading (JavaScript):


JavaScript Client-Side Web Programming

Lecture slides and related files

Supporting reading:

Supporting reading (AJAX):


CSS Client-Side Web Programming

Lecture slides and related files

Supporting reading (CSS):

Supporting reading (Bootstrap)


Mobile Programming

This topic will not be covered in face-to-face lectures, but lecture slides and related files are available.

Lecture slides and related files

Supporting reading:


Concurrent Programming

Lecture slides and related files

Supporting reading:


Security Issues in Web Programming

Lecture slides and related files

Supporting reading:


XML Programming

Lecture slides and related files

Supporting reading:


JSON Programming

Lecture slides and related files


Software Engineering

Lecture slides and related files

Supporting reading (overview):

Supporting reading (design):

Supporting reading (debugging):

Supporting reading (testing):


Course Conclusion

Lecture slides


All lecture slides and related files are copyright 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024 by Robert M. Dondero, Ph.D. Permission to reproduce those lecture slides or handouts for not-for-profit educational purposes is hereby granted. Those lecture slides and related files may not be reproduced for commercial purposes without the express written consent of the author.

This page was written by Robert M. Dondero, Jr.