Some Computer Engineering

course lecture notes available online

 

Dr. Manuel Carcenac

(manuel.carcenac@gmail.com)

 

 

The following course lecture notes are freely available to anyone interested.

They may be used and modified without any restrictions.

 


 

Course on Advanced GPU Computing - CUDA - CUBLAS

 

Compute Unified Device Architecture (CUDA) - Graphic Processing Unit (GPU) - coprocessor -

General Purpose Graphic Processing Unit (GPGPU) - compute capability - Tesla C2050 - NVIDIA -

shared memory system - Single Instruction Multiple Threads (SIMT) - data-based parallelism -

grid - block - thread - multiprocessor - core - host - device - CUDA C - host memory - device memory -

host code - device code - kernel - thread synchronization - nvcc - cache memory - shared memory -

CUda Basic Linear Algebra Subprograms (CUBLAS) - helper function - core function - leading dimension -

column-major storage - matrix multiplication - linear system resolution with Gauss method -

all pairs n-body problem

 


 

Course on Java Language

 

primitive data type - reference data type - object oriented programming - encapsulation -

data abstraction - inheritance - polymorphism - subclasses - inheritance - method overloading -

method overriding - abstract method - interface - nested top-level class - nested top-level interface -

inner class - exception handling - thread - package - JDK

 


 

Course on Graphics in Java: Graphical User Interfaces - 2D Graphics - 3D Graphics with Java OpenGL (JOGL 2)

 

Abstract Windowing Toolkit (AWT) - Swing - event listener -

OpenGL - JOGL 2.0 - JOGL event listener - GLU

 


 

Course on Advanced 3D Graphics in Java and Java OpenGL (JOGL 2)

 

Euler angles - gimbal lock - texture - NURBS - Fractal landscape - diamond-square algorithm -

kinematic animation - cubic spline interpolation - articulated structure - dynamic animation - time integration

 


 

Course on Analysis of Algorithms

 

running time - order of growth - asymptotic notations - algorithmic complexity - recursion tree method -

brute force - divide and conquer - binary search - merge sort - greedy algorithm - activity selection problem -

fractional knapsack problem - dynamic programming - matrix chain multiplication problem -

longest common subsequence (LCS) problem

 


 

 

 

Manuel Carcenac's Homepage