Coder Social home page Coder Social logo

martinasus / adsds Goto Github PK

View Code? Open in Web Editor NEW

This project forked from rossanoventurini/adsds

0.0 0.0 0.0 10.74 MB

Page of the course "Algorithms and Data Structures (for Data Science)" at Department of Computer Science, University of Pisa

Jupyter Notebook 100.00%

adsds's Introduction

Algorithms and Data Structures (for Data Science)

  • Teacher: Rossano Venturini
  • CFU: 9
  • Period: Second semester
  • Language: English
  • Classroom: here
  • Lectures schedule: Monday 9-11, Thursday 16-18, and Friday 11-13 (Google Meet).
  • Question time: After lectures or by appointment

Goals and opportunities

The course introduces basic data structures and algorithmic techniques that allow students to solve computational problems on the most important data types, such as sequences, sets, trees, and graphs.

The lectures will be complemented by an intensive activity in laboratory. Students will experiment with algorithms and data structures by writing their own implementations or by using third-party libraries.

The goal of the class is to enable students to design and implement efficient algorithms, choosing the most appropriate solutions in their future projects.

Syllabus

  • Introduction and basic definitions: algorithm, problem, instance.

  • Computational complexity analysis of algorithms.

  • Sorting: Mergesort, Quicksort and Heapsort.

  • Searching: Binary Search, Binary Search Tree, Trie, and Hashing.

  • Algorithms on Trees: representation and traversals.

  • Algorithms on Graphs: representation, traversals, and most important problems.

  • External memory model: sorting and searching.

Exam

Type Date Room
Lab XX/XX/2021 XX:30 XX
Theory XX/XX/2021 XX:30 XX

References

  • Introduction to Algorithms,  3rd Edition, Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein, The MIT Press, 2009 (Amazon) [CCLR]
  • Algorithms, 4th Edition, Robert Sedgewick, Kevin Wayne, Addison-Wesley Professional, 2011 (Amazon) [RS]
  • Algorithms, Sanjoy Dasgupta, Christos Papadimitriou, Umesh Vazirani, McGraw-Hill, 2006. (Amazon) [DPZ]

Lectures

Date Lecture References Material
15/02/2021 Introduction. Python Basics. Jupyter notebooks on our Google Classroom
18/02/2021 Python Basics and Data Structures. Jupyter notebooks on our Google Classroom
19/02/2021 Python Basics and Data Structures. Jupyter notebooks on our Google Classroom
22/02/2021 Advanced Python. Jupyter notebooks on our Google Classroom
25/02/2021 Advanced Python. Jupyter notebooks on our Google Classroom
26/02/2021 Exercises.
01/03/2021 Introduction to analysis of algorithms. CCLR Sect. 2.1 Notes next 3 lectures
04/03/2021 Insertion Sort: Correctness and analysis. CCLR Sect. 2.2 VisuAlgo Sorting
05/03/2021 Selection Sort: Correctness and analysis. Selection Sort vs Insertion Sort and VisuAlgo Sorting
08/03/2021 Divide and Conquer. Merge Sort. CCLR Sect. 2.3 VisuAlgo Sorting
11/03/2021 Divide and Conquer. Merge Sort. CCLR Sect. 2.3 Notes
12/03/2021 Asymptotic notation. Binary search. CCLR Sect 3.1
15/03/2021 Laboratory: Basics sorting Jupyter Notebook Mandatory exercises

adsds's People

Contributors

rossanoventurini avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.