This is the repository for the Algorithms and Data Structures II course, offered by the Department of Computer Engineering and Automation (DCA) of the Technology Center (CT) at the Federal University of Rio Grande do Norte (UFRN).
The DCA aims to train professionals capable of designing and developing computer systems for industrial automation, embedded systems, software systems, distributed systems, computer networks, and information systems. The CT offers undergraduate and graduate courses in Engineering. This course is part of the curriculum of the Computer Engineering program at DCA/UFRN.
- π Coscia, Michele. The Atlas for the Aspiring Network Scientist
- π Newman, Mark. Networks
- π Grimmer, Justin; Roberts, Margaret E.; Stewart, Brandon M. Text as Data: A new framework for Machine Learning and the Social Sciences
Tool | Link |
---|---|
π Networkx | networkx.org |
π‘ Graph-Tool | graph-tool.skewed.de |
βοΈ Gephi | gephi.org |
π OSMnx | github.com/gboeing/osmnx |
π£ ChatGPT | chat.openai.com |
πΎ Dataset | snap.stanford.edu/data |
Week 01
- Course Outline: Provides an overview of the course structure and topics covered.
- π― Week Goals
- Your main goal for this week is to create a personal repository for tracking your progress and coursework.
- Feel free to explore these resources and engage with the course material. If you have any questions or need assistance, please don't hesitate to reach out.
- Happy coding! π»π
- π GitHub Education Benefits
- GitHub Education Pro: Get access to the GitHub Education Pro pack by visiting GitHub Education
- π Learning Resources
- GitHub Learning Game: Check out the interactive Git learning game at GitHub Learning Game
- Basic Python: Enhance your Python skills through the Kaggle Python course.
- AI Python for Beginners: Learn Python programming fundamentals and how to integrate AI tools for data manipulation, analysis, and visualization. Andrew Ng
- π― Week Goals
- Network Fundamentals I: Outline, applications, math and graph theory.
- π Hands on
- Network elements using networkx
- π Further reading: chapters 1 to 4 of the book The Atlas For The Aspiring Network Scientist, including the exercises.
Week 02
- Network Fundamentals II: Probability, extended graphs, matrices, degree and representation.
- π Further reading: chapters 5 to 6 of the book The Atlas For The Aspiring Network Scientist, including the exercises.
Week 03
- Small World: This week, we explore key concepts such as Small World Networks, Homophily, and Assortativity. You will investigate how these concepts influence the structure and behavior of real-world networks.
- Hands on assortativity
- The art of seeing networks
- π Further reading: chapters 26 to 27 of the book The Atlas For The Aspiring Network Scientist, including the exercises.
Week 04
- Small World Cont.: Paths, Distances, Connected Components, Clustering Coefficient, Social Distance and Six Degrees of Separation
Week 05
- Hubs: the most important metrics and case studies.
- Eccentricity, Diameter, Periphery, Radius and Center
- Degree, Closeness, Betweenness and Eigenvector Centrality
- Centrality Distributions
- Core Decomposition
- Hands on centralities measures
Week 06
- Directed networks: case study of Wikipedia pages
Week 07
- Gephi - The Open Graph Viz Platform
Week 08
- Complexity of Algorithms I: Fundamentals and notations, time and constant complexity.
- Let's Practice (homework)!
Week 09
- Complexity Algorithm II: Logarithmic time complexity
- You will learn: a) explain logarithms and logarithmic complexity; b) apply the binary search algorithm to find elements in sorted lists.
- : Guided Project: Code interview challenge.
- Let's Practice, it is challenge time.
- : Find closest value in BST: Write a function that takes in a Binary Search Tree (BST) and a target integer value and returns the closest value to that target value contained in the BST.
- : Find kth largest value in BST: Write a function that takes in a Binary Search Tree (BST) and a positive integer k and return the kth largest integer contained in the BST.
- : Benchmark: Compare the performance of the algorithms.
Week 10
Week 11
Week 12