Register for Spring 2022 Computer Science Courses
Spring 2022 Computer Science Classes
Course 1: Introduction to Python – Introductory Python Programming
Instructor: Dr. Karpoor Shashidhar, karpoor@gmail.com
Class Schedule:Sunday 5 to 6:30 pm
Location: Online via Zoom – meeting room information will be sent to students.
Dates:1/16, 23,30, 2/6, 13,20,27, 3/6,13,27, 4/3,10,17,24
Tuition :$625 (Register before Jan 1st, $25 early bird discount)
Course Description: In this course, we will explore the basics of programming in the Python language. Python is an interpreted, high-level, general-purpose, object-oriented programming language. Created by Guido van Rossum and first released in 1991, Python’s design philosophy emphasizes code readability and is a fun and awesome first language to learn. We start off with basic concepts of programming. Some topics we will study include Variables and Operators, Input and Output, Functions, Conditionals and Logic, Loops, Strings, brief Overview of Objects and Classes etc. We will also immerse ourselves in the mechanics of programming – running, testing, and debugging. The book we will be using for the course is “Think Python: How to Think Like a Computer Scientist” by Allen Downey. This class is suitable for students in grades 7-11. Previous experience in computer science is not required.
Objectives
Our course for middle school and high school students exposes them to introductory and intermediate computer science concepts to build a foundation for further studies and exploration of computer science.
- This course will prepare you with essential programming tools and data analysis techniques that can be applied to individual research projects. This will strengthen your application to highly selective academic enrichment programs.
- Students who are interested in automating mundane tasks can do so effectively with Python, which is a fast, scripting, prototyping language.
- Students who are interested in preparing for local and national competitions.
- Students who gain the ability and knowledge to succeed in these competitions are successful in applications to selective universities and are well prepared for internships at leading technology companies.
Items you will need for this class:
- A flash drive
- Laptop/Desktop (PC or Mac) and access to this computer for at least 3 hours per week to complete the weekly assignment
Software Requirement:
- On our first class, we will discuss installation of Python 3 including IDLE, the IDE. (https://www.python.org/)
- We will look into alternate IDEs and optional online Python interpreters.
Books and Related Reference Materials:
- Textbook: Think Python 2nd Editionby Allen B. Downey is an introduction to computer science and Python programming intended for people with little or no experience. The book presents each new idea in a logical progression. Larger topics, like recursion and object-oriented programming, are divided into smaller examples and introduced over the course of several chapters. This book is well suited as a first step to Python and programming in general. The book is available here:
- https://greenteapress.com/wp/think-python-2e/
- This is the second edition of Think Python, which uses Python 3. We will NOT be using Python 2, which is covered in the first edition, which is here.
- http://greenteapress.com/thinkpython2/thinkpython2.pdf (PDF Version)
- http://greenteapress.com/thinkpython2/html/index.html (HTML Version)
- https://github.com/AllenDowney/ThinkPython2/tree/master/code (Accompanying code for the book)
- Create an account at codingbat.com. There are some interesting problems we can work on as the course progresses.
Some Questions: I would like you to email me the answers to these questions before our first class.
- What is the single most important skill for a computer scientist? Please explain.
- Python is a high-level language. What is the difference between a high-level language and a low-level language?
- What other high-level languages have you heard of?
- What are your goals for this course?
- Tell me something interesting about yourself
*(Make up day if needed)
Items you will need for this class:
- A flash drive
- Laptop/Desktop (PC or Mac) and access to this computer for at least 3 hours per week to complete the weekly assignments
Course 2: Advanced Programming in Python
Instructor: Dr. Karpoor Shashidhar, karpoor@gmail.com
Students with background in either Python or Java will fit in effortlessly to the advanced concepts since they will be given a Python primer the first couple of weeks. This will be a hands-on, milestone project-oriented course and is expected to be fun and challenging! In particular, this will enable students to design and write advanced code to automate most daily activities.
Class Schedule: Sunday 6:30 to 8:00pm
Class Dates:1/16, 23,30, 2/6, 13,20,27, 3/6,13,27, 4/3,10,17,24
Location: Online via Zoom – meeting room information will be sent to students.
Tuition :$625 (Register before Jan 1st, $25 early bird discount)
In this course, we will explore the advanced concepts of programming in the Python language. Python is an interpreted, high-level, general-purpose, object-oriented programming language. Created by Guido van Rossum and first released in 1991, Python’s design philosophy emphasizes code readability and is a fun and awesome first language to learn. Some advanced topics we will study include:
- Objects and Classes
- Comprehension (Multiple and Nested)
- Extended Keyword Arguments (*args, **kwargs)
- Closures and Decorators
- Generators and Iterators
- @staticmethod and @classmethod
- Inheritance and Encapsulation
- Operator Overloading
- Python Packages
The expectation is that you have a basic working knowledge of programming in some language (preferably basic Python). This includes a solid understanding of Variables and Operators, Input and Output, Functions, Conditionals and Logic, Loops, Strings, brief Overview of Objects and Classes etc. We will also immerse ourselves in the mechanics of programming – running, testing, and debugging. The book we will be using for the course is “Think Python: How to Think Like a Computer Scientist” by Allen Downey. This class is suitable for students in grades 7-11. Previous experience in computer science is not required (aside from the basic programming background in any high-level language).
Objectives
Our course for middle school and high school students exposes them to introductory and intermediate computer science concepts to build a foundation for further studies and exploration of computer science.
- This course will prepare you with essential programming tools and data analysis techniques that can be applied to individual research projects. This will strengthen your application to highly selective academic enrichment programs.
- Students who are interested in automating mundane tasks can do so effectively with Python, which is a fast, scripting, prototyping language.
- Students who are interested in preparing for local and national competitions.
- Students who gain the ability and knowledge to succeed in these competitions are successful in applications to selective universities and are well prepared for internships at leading technology companies.
Items you will need for this class:
- A flash drive
- Laptop/Desktop (PC or Mac) and access to this computer for at least 3 hours per week to complete the weekly assignment
Payment Details:
Payment Details:-Payment may be made by Zelle Quick Pay to ivyclimbers@gmail.com
-Payment may also be made via Zellid to @ivyclimbers828
Please include your students name in the payment memo!