This course introduces the fundamental concepts and techniques of Social Network Analysis, emphasizing its significance in understanding societal connections and behaviors. Students will explore key network measures, various models of network growth, and link analysis algorithms such as PageRank and SimRank. The course also covers community detection methods to identify meaningful clusters and link prediction techniques for forecasting future network connections. Practical applications using tools like Python libraries (NetworkX), Gephi, and Cytoscape complement the theoretical foundations. Topics include network structure, growth models, link analysis, community detection, and link prediction, all aimed at enabling students to analyze and interpret complex social networks effectively.
This course covers foundational statistical techniques vital for data science, focusing on exploratory data analysis, data and sampling distributions, significance testing, regression analysis, and discriminant analysis. Students will learn to analyze datasets for variability and relationships, apply hypothesis testing, and conduct regression for prediction and diagnostics. Practical lab sessions emphasize hands-on experience with real-world datasets to reinforce statistical concepts and their applications in data science problems, enabling a comprehensive understanding of statistical methods for effective data analysis.
This practical course introduces the essential skills for effective project management using Git, a widely-used version control system. Students will learn basic Git commands, branch creation and management, collaboration through remote repositories, and advanced Git operations such as tagging, cherry-picking, and history analysis. The course emphasizes hands-on experience with real commands to perform tasks like repository initialization, merging branches, stashing changes, and viewing and modifying commit history. By the end of the course, students will be proficient in using Git for version control, collaboration, and managing software project
This course provides a comprehensive study of Operating Systems, emphasizing their structure, functions, and resource management techniques. Students will explore fundamental concepts such as process management, CPU scheduling, synchronization, deadlock handling, memory management including virtual memory, and file system organization. The course integrates theory with practical programming exercises involving system calls, process communication, synchronization problems, memory allocation, page replacement algorithms, and disk scheduling. By the end of the course, students will understand OS architecture, apply scheduling algorithms, analyze synchronization and deadlock solutions, and manage memory and storage efficiently, alongside knowledge of protection mechanisms in operating systems.