This course covers elementary C programming skills.
This is an introductory course covering elementary data structures (dynamic arrays, heaps, balanced binary search trees, hash tables) and algorithmic approaches to solve classical problems (sorting, graph searching, dynamic programming). Introduction to mathematical modeling of computational problems, as well as common algorithms, algorithmic paradigms, and data structures used to solve these problems. Emphasizes the relationship between algorithms and programming, and introduces basic performance measures and analysis techniques for these problems.
This course covers the theoretical foundations and practical applications of deep learning, including neural network architectures (MLPs, CNNs, RNNs, and Transformers), backpropagation and automatic differentiation, and generalization. Emphasis is placed on understanding the underlying principles of deep learning and applying them to real-world problems.
This course covers advanced concepts and practical applications of C programming, including pointers, structures, strings, dynamic memory allocation, file input/output, bitwise operations, and recursive functions. Emphasis is placed on developing a deeper understanding of memory management, efficient programming techniques, and problem-solving skills through hands-on programming exercises.