Welcome to Programming Lab A

2 minute read

This is the course website for Programming Lab A at International College of Technology, Kanazawa (ICT).

In this course, we will study programming in Python with various lessons and a capstone project. The assignments will use Jupyter Notebooks as a kind of interactive worksheet with programming exercises. There are a few options for how to set up your computer for Jupyter Notebooks. See Getting Started below for details.

Why Python?

Python is one of the world’s most popular programming languages because it has:

  • Simple and efficient syntax (grammar) that is easy to learn and use.
  • Large variety of stable libraries available for things like developing desktop apps or games, processing big data and creating visualization, and building websites.

There are so many things you can do with Python, like develop websites or games, analyze and visualize data, build desktop applications or machine learning tools, or automate your software and manage a database. Check out What Can I Do With Python? to learn more.

Keywords

  • Python
  • Object-Oriented Programming
  • Application Development

Learning Objectives

The Python language is increasingly important in the modern computing world. In this course, students will learn Object-Oriented Programming (OOP), an essential programming paradigm, in addition to Python data structures such as lists and dictionaries. They will then expand their programming knowledge further with a chance for deeper learning in a programming project that relates to their chosen specialization.

Course Description

This course builds on knowledge about programming from previous courses and introduces the Python approach to common concepts, such as conditional branches, loops, and functions. After becoming familiar with the Python language, students will then study concepts of Object-Oriented Programming including abstraction, encapsulation, inheritance, and polymorphism. Finally, students will implement one of the following programming projects based on their chosen specialization:

  1. 2D Game
  2. Data Visualization
  3. Web Application

Textbook

This course follows the content of “Python Crash Course, 2nd Edition”. Its author Eric Matthes gives a smooth and thorough introduction to all the essential topics. The final chapters of the book provide advanced tutorials for the three specialization projects students will complete at the end of this course.