/Elements-of-Software-Design

Primary LanguageJupyter NotebookMIT LicenseMIT

Elements-of-Software-Design

General Study Guide for Course Elements of Software Design CS313e

Preparation for Class

  • Read the notes posted online for the day.
  • Read the relevant sections in the book. Each day's reading is given in the schedule.
  • You do not have to understand everything that you read. Make a list of questions. ASK in class!

Follow Up After Class

  • Try out a few of the programming exercises in GeeksForGeeks, LeetCode, or Kattis.
  • If you have problems, visit the TAs during office hours. Sign up and we will help you with your program.
  • If you are not programming, you are not studying.
  • Your study time will be approximately 10 hours per week. Schedule your time accordingly.

Python Links

Python Tutorials

Online Programming Challenges

The following websites provide a good set of programming challenges that you can use to improve your programming knowledge and expericence.

Online Websites about Algorithms

Books

  • The Practice of Computing Using Python, by W. Punch and R. Enbody, 3-rd edition, Pearson Publishing, ISBN 978-0-13-437976-0
  • Introduction to Algorithms, Fourth Edition, 2021. By Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein (known as CLRS Algorithm Book)
  • The Algorithm Design Manual: Skiena, Steven S S.