Register for Summer 2021 Computer Science Classes

Summer 2021: Computer Science Courses

Note : Students may choose to register for more than one class – For example,   student may choose to register for both Introductory Python and Introductory Java, or Advanced Java and Introductory Python, or for both Advanced Python and Advanced Java

Course 1: Introductory Java Programming – Introduction to  AP CS-A Java      Summer 2021

Instructor: Dr. Karpoor Shashidhar, karpoor@gmail.com

 In this course, we will explore the basics of programming in the Java language. This course should prepare you for the AP Computer Science A exam. Some topics we will study include Variables and Operators, Input and Output, Methods, Conditionals and Logic, Loops, Arrays, 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 Java, How to Think Like a Computer Scientist” by Allen Downey and Chris Mayfield. 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 for the AP Computer Science A exam.
  • 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 preparing for local and national competitions, including the USA Computing Olympiad. 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.

Class Schedule: Monday, 4:30 to 5:45 PM​ CST from June 7th to August 9

Location: Online via Zoom – meeting room information will be sent to students.

Summer 2021 Dates:  June 7, 14, 21, 28 | July 5, 12, 19, 26 | August 2, 9

Instructor: Dr. Karpoor Shahshidhar

Tuition : $450

Items you will need for this class:

  1. A flash drive
  2. Laptop/Desktop (PC or Mac) and access to this computer for at least 3 hours per week to complete the weekly assignment

Software Requirement:

  1. On our first class, we will discuss installation of the Java Platform, Standard Edition JDK 13 (Java SE 13.0.1) (https://www.oracle.com/technetwork/java/javase/downloads/index.html)
  2. We will install TextPad, a lightweight Java IDE designed for students and beginners in Java. (https://www.textpad.com/) – we can also work using online Java compilers.

 Books and Related Reference Materials:

  1. Textbook: Think Java, How to Think Like a Computer Scientist is an introduction to computer science and 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 to prepare students for the AP Computer Science A exam, which includes object-oriented design and implementation. The book is available here:
    1. https://greenteapress.com/wp/think-java/
    2. http://greenteapress.com/thinkjava6/thinkjava.pdf (PDF Version)
    3. http://greenteapress.com/thinkjava6/html/index.html (HTML Version)
    4. https://books.trinket.io/thinkjava/ (Interactive Trinket Version with a Java compiler in your browser)
    5. https://github.com/AllenDowney/ThinkJavaCode (Accompanying code for the book)
    6. https://greenteapress.com/wp/wp-content/uploads/2016/01/AP.pdf (Mapping of Computer Science A to Think Java Textbook)
  2. CollegeBoard AP Computer Science A Description:
    1. https://secure-media.collegeboard.org/digitalServices/pdf/ap/ap-computer-science-a-course-description.pdf
    2. https://apcentral.collegeboard.org/courses/ap-computer-science-a?course=ap-computer-science-a
  3. Create an account at codingbat.com. There are some interesting problems we can work on as the course progresses.
  4. Barron’s AP Computer Science (only if you are interested). This is an optional and supplemental book but will help you prepare for the exam. It usually costs about $20 but you may find used copies for less online. Barron’s online AP Computer Science sample test is herehttp://barronsbooks.com/AP/compsci/

Some Questions: I would like you to email me the answers to these questions before our first class. 

  1. What is the single most important skill for a computer scientist? Please explain.
  2. Java 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?
  3. What are your goals for this course?
  4. Tell me something interesting about yourself.

 

  

Course 2: Introduction to  Python – Introductory Python Programming Summer 2021

InstructorDr. Karpoor Shashidhar, karpoor@gmail.com

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.

 

Class Schedule: Friday, 4:30 to 5:45 PM CST​, June 11 to August 13

Location: Online via Zoom – meeting room information will be sent to students.

Summer 2021 DatesJune 11, 18, 25 July 2, 9, 16, 23, 30, August 6, 13

Instructor: Dr. Karpoor Shahshidhar

Tuition : $450.00

Items you will need for this class:

  1. A flash drive
  2. Laptop/Desktop (PC or Mac) and access to this computer for at least 3 hours per week to complete the weekly assignment

Software Requirement:

  1. On our first class, we will discuss installation of Python 3 including IDLE, the IDE. (https://www.python.org/)
  2. We will look into alternate IDEs and optional online Python interpreters.

 Books and Related Reference Materials:

  1. 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:
    1. https://greenteapress.com/wp/think-python-2e/
    2. 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.
    3. http://greenteapress.com/thinkpython2/thinkpython2.pdf (PDF Version)
    4. http://greenteapress.com/thinkpython2/html/index.html (HTML Version)
    5. https://github.com/AllenDowney/ThinkPython2/tree/master/code (Accompanying code for the book)
  2. 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. 

  1. What is the single most important skill for a computer scientist? Please explain.
  2. Python is a high-level language. What is the difference between a high-level language and a low-level language?
  3. What other high-level languages have you heard of?
  4. What are your goals for this course?
  5. Tell me something interesting about yourself

 

Items you will need for this class:

  1. A flash drive
  2. Laptop/Desktop (PC or Mac) and access to this computer for at least 3 hours per week to complete the weekly assignments

 

Course 3: Python 2- Advanced Python Programming Summer 2021

Instructor: Dr. Karpoor Shashidhar, karpoor@gmail.com

Course update – the course objectives are:
 
1. Brief recap of Fundamental Python for a couple of weeks.
2. Followed by Advanced Python concepts including object-oriented programming and applications to machine learning, web scraping, image analysis etc. 
 
As we had noted earlier, introductory Java students should be able to fit in effortlessly in this course since they will be given a Python primer. The Python students will benefit from the orientation session as well. 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 Python code to automate most daily activities. 

 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.

  1. 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.
  2. Students who are interested in automating mundane tasks can do so effectively with Python, which is a fast, scripting, prototyping language.
  3. Students who are interested in preparing for local and national competitions.
  4. 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.

InstructorDr. Karpoor Shashidhar, karpoor@gmail.com

Class Schedule: Sunday, 5:00 to 6:30 PM CST​, June 6 to August 15

Location: Online via Zoom – meeting room information will be sent to students.  Dates: June 6, 13, 20, 27 July 11, 18, 25 August 1, 8, 15

Tuition : $450.00

Items you will need for this class:

  1. A flash drive
  2. Laptop/Desktop (PC or Mac) and access to this computer for at least 3 hours per week to complete the weekly assignment

Software Requirement:

  1. On our first class, we will discuss installation of Python 3 including IDLE, the IDE. (https://www.python.org/)
  2. We will look into alternate IDEs and optional online Python interpreters.

Books and Related Reference Materials:

  1. 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:
    1. https://greenteapress.com/wp/think-python-2e/
    2. 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.
    3. http://greenteapress.com/thinkpython2/thinkpython2.pdf (PDF Version)
    4. http://greenteapress.com/thinkpython2/html/index.html (HTML Version)
    5. https://github.com/AllenDowney/ThinkPython2/tree/master/code (Accompanying code for the book)
  2. 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.

  1. What is the single most important skill for a computer scientist? Please explain.
  2. Python is a high-level language. What is the difference between a high-level language and a low-level language?
  3. What other high-level languages have you heard of or able to program in?
  4. What are your goals for this course?
  5. Tell me something interesting about yourself.

Payment Details:

-Payment may be made by check mailed to :

Ivyclimbers LLC, 19 Purple Martin Place, Spring, Texas 77381

Please include your student’s name on the check!

-Payment may also be made by Zelle Quick Pay to ivyclimbers@gmail.com

Please include your students name in the payment memo!