|
This course is designed as a second year course for majors and minors and covers basic data structures and algorithm analysis. Starting with the art and science of analyzing algorithms, the main goal of this course is to learn various techniques for organizing data so that computer programs can access, modify, and delete data efficiently. Topics covered include basic data structures (for example, lists, stacks and queues), trees, hashing, heaps, disjoint sets, and graphs, self-adjusting data structures; worst-case, average-case, and amortized analysis; and basic problem solving techniques. The topics are theoretical in nature but have dramatic impact in practice.
The official course webpage is on Blackboard.
This course is an introduction to computer graphics. It covers the fundamental concepts of 2D and 3D computer graphics. Topics include rendering geometric primitives, simple illumination, shading, texturing, surface removal, image processing and 2D / 3D graphic transformation (Linear Algebra). Students develop several programs (approximately 5) using OpenGL/GLSL API or WebGL API using JavaScript/C++. Prior knowledge of OpenGL/GLSL is not needed, however knowledge of C/C++ and data structures is required.
The official course webpage is on Blackboard.
This course is designed as a second year course for majors and minors and covers basic data structures and algorithm analysis. Starting with the art and science of analyzing algorithms, the main goal of this course is to learn various techniques for organizing data so that computer programs can access, modify, and delete data efficiently. Topics covered include basic data structures (for example, lists, stacks and queues), trees, hashing, heaps, disjoint sets, and graphs, self-adjusting data structures; worst-case, average-case, and amortized analysis; and basic problem solving techniques. The topics are theoretical in nature but have dramatic impact in practice.
The official course webpage is on Blackboard.
This course introduces principle techniques and fundamental algorithms used to manipulate digital image imagery in the spatial and frequency domains. Topics covered in this course include: image sampling, quantization and representation, image enhancement (histogram equalization), filtering (sharping, blurring and noise), image transformation, segmentation and color. Several assignments will be given requiring students to process digital images using techniques discussed in class. Software used in this course includes the use of OpenCL (GPU) and MATLAB.
The official course webpage is on Blackboard.