Fall 2022: Computer Science Courses

Register for Fall 2022 Computer Science Classes

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

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: Sunday 2:30-4:00 Central Time

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

Dates: 9/4, 9/11, 9/18, 9/25, 10/2, 10/9, 10/26, 10/23, 10/30, 11/6, 11/13, 11/20, 11/27, 12/4

Instructor: Dr. Karpoor Shahshidhar

Tuition : $770

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 here: http://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

Instructor: Dr. 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: Sunday 4:00-5:30

Location: Online via Zoom – meeting room information will be sent to students.Dates: 9/4, 9/11, 9/18, 9/25, 10/2, 10/9, 10/26, 10/23, 10/30, 11/6, 11/13, 11/20, 11/27, 12/4

Instructor: Dr. Karpoor Shahshidhar

Tuition : $770.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

  *(Make up day if needed)

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:  Introduction to Cybersecurity

CyberSecurity Course Description 

Numerous cybersecurity tasks require a solid background in programming, Linux, and scripting languages. In this fast-paced and hands-on course, you will learn several fundamental skills that serve as a fundamental introduction to cybersecurity. Having a working knowledge of Linux, and Bash scripting will help you become a better cybersecurity professional. This course will discuss virtual machines, the Linux operating system, the Bash shell, and finally shell scripting. Unlike the graphical-user-interface heavy operating systems such as Windows and the Mac, the Linux shell can be administered efficiently using the shell. We will explore this skill in this course.

Class Schedule: Sunday 5:30-7:00 Central Time

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

Dates: 9/4, 9/11, 9/18, 9/25, 10/2, 10/9, 10/26, 10/23, 10/30, 11/6, 11/13, 11/20, 11/27, 12/4

Instructor: Dr. Karpoor Shahshidhar

Tuition : $770

Payment Details:

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

Please include your students name in the payment memo!