Python for Beginners

This introductory course provides a practical foundation in Python programming for students with little or no previous coding experience. Students learn how to set up a Python environment, work with variables and data structures, use conditions and loops, write functions and develop reusable scripts. The course emphasizes hands-on exercises and builds the programming skills required for more advanced scientific and geospatial applications

Course at a Glance

Focus: Foundations of Python programming 
Approach: Hands-on, practice-oriented 
Prerequisites: Little or no previous programming experience 
Key Skills: Programming fundamentals, problem-solving, debugging, object-oriented programming, data analysis
Key Technologies: Python, development environments, NumPy, Pandas and Matplotlib

Why Learn Python?

Python is one of the most widely used programming languages in science, data analysis, automation and GIS. Learning Python enables students to move from manual tasks to reproducible computational workflows, work effectively with data and develop a strong programming foundation for more advanced scientific and geospatial applications.

Course Objectives

  • Develop foundational proficiency in Python programming, from environment setup to executing scripts effectively
  • Understand essential programming principles, including variables, data types, functions and control structures
  • Gain practical experience in structured problem-solving by designing, coding, debugging and testing Python applications
  • Explore Object-Oriented Programming (OOP) concepts such as inheritance, abstraction and encapsulation
  • Apply Python for data handling and analysis using popular libraries such as NumPy, Pandas and Matplotlib
  • Prepare students for real-world applications of Python across domains such as data science and GIS-based spatial analysis

View / Download Syllabus →

Course Content

Explore the fundamental concepts of Python programming through a progressive sequence of lessons, practical exercises, and programming applications:

Opening meeting (via Zoom)

Overview of course structure, grading, and expectations. Learn to install Python, set up IDEs, navigate materials, submit assignments, and access support, ensuring a smooth start to your learning journey.

Unit 1: Course Overview – Introduction to course objectives, expectations, and study materials. Learn how to navigate the online platform and organize your learning process effectively.

Unit 2: What is Python? – Understand the fundamentals of Python, its history, applications, and advantages. Get familiar with coding environments like IDLE and PyCharm.

Unit 3: Writing Your First Script – Learn how to write, execute, and debug basic Python scripts using IDLE and PyCharm, building confidence in your coding abilities

Unit 1: Introduction to Programming – Explore programming concepts: compilation vs. interpretation, Python’s advantages and limitations, and working in environments like IDLE, PyCharm, and ArcGIS Pro.

Unit 2: Core Python Elements – Learn about numbers, variables, expressions, functions, user input, and comments. Develop basic interactive scripts.

Unit 1: Sequences – Understand different sequence types (lists, tuples, strings) and their properties, including indexing, slicing, and iteration.

Unit 2: Lists – Learn about list creation, modification, iteration, and common list operations like sorting and filtering.

Unit 3: Tuples – Explore immutable sequences, when to use tuples, and how they compare to lists.

Unit 1: Sets – Discover how sets store unique elements, perform set operations, and apply them in real-world scenarios.

Unit 2: Dictionaries – Learn how key-value pairs work, dictionary methods, and efficient data retrieval techniques.

Unit 3: Strings – Master string manipulation techniques, including formatting, concatenation, slicing, and built-in string functions.

Unit 1: Conditional Statements – Implement decision-making using if, else, and elif statements. Learn Boolean logic and logical operators.

Unit 2: Loops for Efficiency – Master for and while loops for repetitive tasks and learn how to exit loops using break and continue statements.

Unit 3: Key Statements – Explore multi-line statements, return, try-except error handling, with statements for resource management, and other key Python constructs.

Unit 1: Defining and Calling Functions – Learn how to create reusable functions, pass parameters, and return values to write clean, modular code.

Unit 2: Recursive Functions – Understand recursion, how it differs from iteration, and its role in solving complex problems efficiently.

Unit 1: Introduction to OOP – Learn about classes, objects, and how OOP principles improve code structure and reusability.

Unit 2: Encapsulation, Inheritance & Abstraction – Discover the power of class inheritance, encapsulation, and abstraction for designing scalable applications.

Unit 1: Implementing Classes & Objects – Create classes with constructors, properties, and methods to represent real-world entities.

Unit 2: Extending Classes – Learn how to design complex classes, reuse code through inheritance, and implement internal and external class structures.

Review of Lessons 1-8 – Recap key concepts, clarify doubts, and prepare for the next phase of the course.

Unit 1: Debugging & Testing – Use debugging tools, error tracing, and testing techniques to improve code quality and performance.

Unit 2: Exception Handling – Handle runtime errors using try-except blocks to make programs more robust and reliable.

Unit 3: Project Development – Learn how to structure Python projects using Jupyter Notebooks, ArcGIS Notebooks, and integrate Python with GIS tools.

Unit 1: Handling Files – Read, write, and process CSV and text files efficiently in Python.

Unit 2: Database Connectivity – Connect to Microsoft Access and SQL Server using PYODBC, write queries, and manage relational data.

Unit 1: Numpy

Unit 2: Pandas

Unit 1: Matplotlib for Data Visualization – Generate plots and graphs to visualize data effectively.

Unit 2: SciPy for Scientific Computing – Work with SciPy’s advanced mathematical and statistical functions.

Summarize key topics, address remaining questions, and discuss the format of the final exam.

Tools & Technologies

Students work directly with Python and commonly used development environments throughout the course. The practical exercises introduce tools including IDLE and PyCharm, as well as widely used Python libraries such as NumPy, Pandas, and Matplotlib. Selected exercises also introduce working with files and relational databases, including Microsoft Access and Microsoft SQL Server.