- 📚 Michael T. Goodrich, Roberto Tamassia, Michael H. Goldwasser. Data Structures and Algorithms in Python [Link]
- 📚 Mark Newman. Networks [Link]
- 📚 Menczer, Filippo; Fortunato, Santo; A. Davis, Clayton. A First Course in Network Science [Link]
- 📚 Dmitry Zinoviev. Complex Network Analysis in Python [Link]
- 📚 Coscia, Michele. The Atlas for the Aspiring Network Scientist [Link]
- Python for Data Engineering: Fundamentals Part I
- You'll learn the fundamentals of programming with Python for data engineers: a) Processing numerical data and text data, b) Performing basic Python operations such as creating variables and lists, c) Analyzing data using for loops, d) Writing conditional statements and using comparison operators.
- ⏳ Estimated time: 6h
- Git and Version Control
- You'll learn how to: a) organize your code using version control, b) resolve conflicts in version control, c) employ Git and Github to collaborate with others.
- 👊 getting a git repository.
- ⏳ Estimated time: 5h
- Complementary materials
Week 02: A brief introduction to data structure in Python
- Python for Data Engineering: Fundamentals Part II
- You will see: a) refining fundamental Python knowledge for data engineering; b) introducing basic Python concepts like dictionaries, functions, and default arguments; c) building proficiency in the use of Jupyter Notebook; d) practical application of your newly acquired data skills in a data project for your portfolio.
- ⏳ Estimated time: 10h
- Object Oriented Programming (OOP) introduction
- ⏳ Estimated time: 3h
- OOP practice problems
- ⏳ Estimated time: 1.5h
Week 03: Complexity Algorithm I
- Exercises
- Challenge template
- Complementary notebook
- Time Complexity of Algorithms
- you will learn how: a) measure the execution time of a algorithm; b) generate random inputs for an algorithm; c) model the execution time of an algorithm.
- ⏳ Estimated time: 1h
- Constant Time Complexity
- you will learn: a) Identify constant time operations; b) Identify how computers manage memory; c) Refine computing time complexity models; d) Identify hidden function calls in Python. e) Identify how lists and strings are stored in memory.
- ⏳ Estimated time: 2h
- Case Studies
Week 04: Complexity Algorithm II
Week 05, 06: Project I
Week 07: Network Elements I
Week 08: Network Elements II