The Beginning

Thomas J. Kennedy

Contents:

Welcome to CS 263 - Python for Programmers.

This course is intended as an introduction to Python for students already familiar another language (with an emphasis on C++ or Java). The overall focus of this course is to prepare to teach you how to apply your existing knowledge to write Pythonic code.

If you would prefer to read a written lecture… scroll past the video. The written lecture covers the same material.

1 Tools of the Trade

In this course we will use many tools, including:

Tool Assignments Lecture Recordings
Vim Hopefully
Git Hopefully
Unit Testing / TDD
Pydoc
Tox
Pycodestyle / Pylint
PlantUML Maybe
SDEdit Maybe

A few tools will be used heavily for office hours and questions…

Tool Assignments Lecture Recordings
Zoom (Office Hours)
Email
Questions

Yes… I do realize that I have listed questions as a tool for answering questions. As much as I would like to make a joke about recursion… This is actually an instance of the Socratic Method.

2 Lecture Examples

Most lectures will be based on the Review (recorded lecture) Examples. If you are curious… take a look at the commit history on GitHub. The example code is not stagnant. It is updated every semester.

3 Questions…

  1. Do I need to know all the tools listed in Tools of the Trade?

    No. you do not need to know all the tools.

  2. Why do you use Vim?

    The short answer is that… Vim works. I can write code quickly, compile and run code, and switch between languages. Most importantly, I can do everything completely from the keyboard (without the mouse).

  3. What is your favorite language?

    It is currently a tie between Python and Rust… although it is currently Python… at least for today.

  4. Can I ask you about a topic not covered in lecture?

    Yes.

  5. Who is Raymond Hettinger?

    Raymond Hettinger is one of the Python core developers. He is known for his amazing Python talks/lectures.

4 Beginning of the Semester Concerns

You will hear me discuss and reference topics from various courses, including:

Every semester a few students end up terrified that they have missed a required prerequisite course. Before you start second guessing yourself… take a look at the prerequisites section of the syllabus. If a course is not listed as a prerequisite… you are not expected to have completed it.

Why mention other courses?

Computer Science is a broad field. There are many connections between topics and concepts. One of the biggest mistakes anyone can make (especially students and teachers) is to treat a course as existing in a vacuum. Remember two things:

  1. One of our goals is to learn how to see these connections and use them to solidify understanding in this course and other courses.

  2. I enjoy Computer Science (including this course) and have a penchant to get carried away.