Spring 2021: Computer Science Courses
Register for Spring 2021 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 4-5:30 Central Time
Location: Online via Zoom – meeting room information will be sent to students.
Dates: 1/17, 1/24, 1/31, 2/7, 2/21, 2/28, 3/7, 3/14, 3/28, 4/11, 4/18, 4/25, 5/2, 5/9
Instructor: Dr. Karpoor Shahshidhar
Tuition : $650
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 the Java Platform, Standard Edition JDK 13 (Java SE 13.0.1) (https://www.oracle.com/technetwork/java/javase/downloads/index.html)
- 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:
- 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:
- https://greenteapress.com/wp/think-java/
- http://greenteapress.com/thinkjava6/thinkjava.pdf (PDF Version)
- http://greenteapress.com/thinkjava6/html/index.html (HTML Version)
- https://books.trinket.io/thinkjava/ (Interactive Trinket Version with a Java compiler in your browser)
- https://github.com/AllenDowney/ThinkJavaCode (Accompanying code for the book)
- https://greenteapress.com/wp/wp-content/uploads/2016/01/AP.pdf (Mapping of Computer Science A to Think Java Textbook)
- CollegeBoard AP Computer Science A Description:
- Create an account at codingbat.com. There are some interesting problems we can work on as the course progresses.
- 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.
- What is the single most important skill for a computer scientist? Please explain.
- 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?
- What are your goals for this course?
- Tell me something interesting about yourself.
Course 2: Advanced Java Programming
Advanced Java : Objects, Classes and Beyond Spring 2021
Instructor: Dr. Karpoor Shashidhar, karpoor@gmail.com
In this course, we will explore advanced programming concepts in the Java language. This course will build on concepts learned in an introductory Java programming course. Some topics we will study include Objects, classes, inheritance, Exception Handling, GUI applications etc. We will also immerse ourselves in the mechanics of programming – running, testing, and debugging, and algorithm design/analysis and data structures. The books we will be using for the course are “Think Java, How to Think Like a Computer Scientist” by Allen Downey and Chris Mayfield. The second book we will use is “Think Data Structures” by Allen B. Downey. This class is suitable for students in grades 8-11. Previous experience in computer science is not required, but a fundamental working knowledge of the basics of the Java programming language is required.
Objectives
Our course for middle school and high school students exposes them to advanced computer science and data structure concepts to build a foundation for further studies and exploration of computer science.
- Data structures and algorithms are among the most important inventions of the last 50 years, and they are fundamental tools software engineers need to know.
- 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 6:00-7:30 Central Time
Location: Online via Zoom – meeting room information will be sent to students.
Dates: 1/17, 1/24, 1/31, 2/7, 2/21, 2/28, 3/7, 3/14, 3/28, 4/11, 4/18, 4/25, 5/2, 5/9
Instructor: Dr. Karpoor Shahshidhar
Tuition : $650
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:
- I assume you have already installed the Java Platform, Standard Edition JDK 13 (Java SE 13.0.1) [if not, we can go through a brief tutorial on the first class day] (https://www.oracle.com/technetwork/java/javase/downloads/index.html)
- We will install TextPad, a lightweight Java IDE designed for students. (https://www.textpad.com/) – we can also work using online Java compilers.
Books and Related Reference Materials:
- Textbook 1: 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. We will start our class from Chapter 10 – Objects. The book presents each new idea in a logical progression. Object-oriented programming topics are discussed over the course of several chapters. The book is available here:
- https://greenteapress.com/wp/think-java/
- http://greenteapress.com/thinkjava6/thinkjava.pdf (PDF Version)
- http://greenteapress.com/thinkjava6/html/index.html (HTML Version)
- https://books.trinket.io/thinkjava/ (Interactive Trinket Version with a Java compiler in your browser)
- https://github.com/AllenDowney/ThinkJavaCode (Accompanying code for the book)
- Textbook 2: Think Data Structures by Allen B. Downey.
- https://greenteapress.com/wp/think-data-structures/
- Amazon link: http://amzn.to/2uS5PX0
- http://greenteapress.com/thinkdast/thinkdast.pdf (PDF Version)
- http://greenteapress.com/thinkdast/html/index.html (HTML Version)
- https://github.com/AllenDowney/ThinkDataStructures (Accompanying code for the book)
- Create an account at codingbat.com. There are some interesting problems we can work on as the course progresses.
- 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.
- What is your experience in Java Programming?
- What data structures have you heard of and used for any projects?
- Do you understand recursion and the difference between a recursive method and an iterative method?
- What are your goals for this course?
- Tell me something interesting about yourself.