Course overview

Welcome to Computer Science I! This is an introductory course in computer science, with an emphasis on problem solving and programming in Java. You will become familiar with the syntax and structure of Java, but this course is about more than just one language. You will gain exposure to some of the fundamentals of computer science, including problem decomposition, algorithm design, software construction and testing, recursion arithmetic and logical operations, conditional execution, classes, data structures, and object-oriented programming. We will do so using the Java programming language. This course is designed for majors and non-majors alike, and upon completion, students will have enhanced their reasoning and logic skills, which will serve them well in many disciplines. You will gain experience programming individually, as well as in teams for small projects.

Learning outcomes

By the end of this course students will be expected to be able to do the following:
  • Explain core concepts in computer science
  • Convert between binary, decimal, and hexadecimal numbers
  • Distinguish between primitive data and objects, and how to convert between the two when applicable
  • Create interactive programs using Scanner and Java's printing functions
  • Understand Java's arithmetic and logical operators in order to evaluate expressions to the rules of the language
  • Understand and apply conditional execution, iteration, and recursion
  • Understand how and when to use arrays and ArrayLists for storing compound data
  • Apply decomposition, abstraction, and pattern recognition through the use of reusable methods
  • Design custom classes and objects with proper encapsulation
  • Use the Random and Math packages for special mathematical operations
This list is neither exhaustive nor set in stone.

Instructor

Name: Arjun Chandrasekhar (he/him/his)
Email: TBD
Student Hours:
  • TBD from TBD - TBD pm in TBD
    • Note: The above hours indicate when I am guaranteed to be in my office to help you. However, feel free to email me to set up a time, or drop in for an impromptu help session.

Course Links

Here is a tentative calendar for the course.