Computer Programming for Beginners: Coding in Java

I. June 27–July 15, 2022
II. July 19–August 5, 2022
Day & Time:
Monday–Friday, 9:10–11:00 a.m. and 1:10–3:00 p.m. or 11:10 a.m.–1:00 p.m. and 3:10–5:00 p.m.
Arnavi Chheda, Robert Owsley
No previous programming experience is required, but participants should have an aptitude for logical reasoning and systematic thinking.

“Even though the course was challenging and moved at a fast pace, I learned a lot. I didn't even know what coding was when I started, but I'm proud to say that I understand a decent amount and can apply this knowledge.”  - Maddie Z. | Madison, New Jersey

Course Description

An introductory course designed to develop logical reasoning and computer programming skills through immersion in the fundamentals of Java. Programming projects involving mathematical problems and logic games challenge students to develop their logical reasoning, systematic thinking, and problem-solving skills. Students become familiar with fundamental object-oriented programming concepts, algorithms, and techniques. This course covers an overview of introductory material through hands-on labs and individual and collaborative projects. Labs are carried out in the cross-platform Java environment, which will be set up on students' personal laptop computers.

Participants are expected to bring laptops for this class. Laptops can either be a PC or a Mac, but should have 8GB – 10GB of free space.

Students who are already familiar with Python might consider taking Computer Programming for Beginners: Coding in Python.

Registration Guidance & Call Number(s)

To view detailed information on a particular offering, click on the call number to be directed to the Directory of Classes catalogue.

Session 1 Classes

JAVA0101 (001) | Call Number: 10948

Session 2 Classes

JAVA0101 (003) | Call Number: 10950

Further guidance on the registration process can be found here.


Arnavi Chheda

Arnavi Chheda is in the process of earning her Master's degree in Computer Science at Columbia University. She is pursuing thesis research with Professor Brian Smith as a student in the Computer-Enabled Abilities Lab. Arnavi holds Bachelor's degrees in Computer Science and Human Centered Design & Engineering from the University of Washington, Seattle. She graduated from the University of Washington in 2016, and worked as a Software Engineer at Microsoft for 5 years prior to starting her degree at Columbia. While at Microsoft, Arnavi was a part of various teams in the Office and EDU organizations. Throughout her academic and professional career, Arnavi has taught Introductory Computer Science courses as a teaching assistant and as a volunteer through the TEALS program. Her research interests are in Human-Computer Interaction, and she is passionate about researching how to make accessible computing systems for people with disabilities.

Robert Owsley

Robert Owsley teaches computer science at the Academy For Software Engineering, a specialized public high school in Union Square. Prior to teaching, he worked for 15 years at leading investment banks and technology firms across London, Zurich, and New York (UBS, Bloomberg, FXall). He is experienced in quantitative research, Java development, product management and strategic marketing. He has a BS in Computer Science and Engineering from MIT and a MA in Teaching from Relay Graduate School of Education. He is passionate about helping students thrive in professional fields.

Back to the Course Guide

Specific course detail such as hours and instructors are subject to change at the discretion of the University. Not all instructors listed for a course teach all sections of that course.