Fundamentals of Programming Course

Python Fundamentals of Programming Course Summary

The Python Fundamentals of Programming course at Sharif University of Technology provides students with a comprehensive understanding of key programming concepts and tools. The course covers the following topics:

Basic Concepts

  • Algorithm, Flowchart, Definition of a Computer, and the History of Python
  • Constants, Variables, Data Types, Casting, and Operators
  • Input/Output and Conditional Statements
  • Loops (for, while, etc.)
  • Functions, parameters, and arguments
  • Control Flow, Variable Scope, Docstring, Comments

Data Structures and File Handling

  • Strings Intro: Related Operations, Most Commonly Used Functions, Basics of Regex
  • Lists - Indexing, Slicing, Useful Functions and Operators, Nesting
  • Tuples and Dictionaries
  • Sets and the Related Operations
  • Working with Files: Read, Write, Append, etc. - Text vs. Binary Files
  • Managing Exceptions: Try, Except, Finally, etc.

Advanced Topics

  • Linear Algebra and Data Visualization using Numpy, Matplotlib, Pandas, Scipy, etc.
  • Introduction to Object-Oriented Programming: Classes, Objects, Methods, Constructors, Inheritance and Polymorphism
  • Algorithmic Thinking: Searching, Sorting, and Divide and Conquer
  • Intro to Github
  • Intro to Clean Coding and Design Patterns
  • Working with Images (OpenCV and other related modules)
  • Debugging and Testing Intro

The course aims to provide students with practical programming skills and a holistic understanding of Python’s diverse applications.