CSC1000: Software Development

This course provides an introduction to object-oriented software development using the Java programming language. Students design, document, and implement software solutions based on written problem descriptions. Topics covered include Java program structure, algorithmic problem solving and modularization, I/O statements, control constructs, looping techniques, class libraries, arrays, `ArrayList`s, abstraction, encapsulation, declaring and implementing abstract data types, interfaces, and inheritance, exception handling, and file I/O. In addition, the course provides students with techniques for and experiences in conducting a successful job search, preparing letters of application and resumes, and preparing for job interviews. It also examines the concepts of success, lifelong learning, and professional responsibilities. (prereq: none) (4-2-5)


On successful completion of this course, the student will:


Introduction to Programming with Java: A Problem Solving Approach, 3rd Ed., by Dean and Dean, McGraw-Hill, 2021. This book is used for both CS1011 and CS1021. There are two purchasing options:

  1. VitalSource Inclusive Access eBook with Online Access, ISBN: 978-1-26-095839-3
  2. If you'd like a hard copy, you can also add Loose Leaf Inclusive Access, ISBN: 978-1-26-426033-1

Both should be available through our bookstore.

Self-Learning Modules

Most weeks you will have a self-learning module to complete. These modules will be available in Canvas and our design to take you between one and three hours to complete. You will watch videos and read portions of the textbook and then answer a series of questions to demonstrate your mastery of the material.

Tentative Schedule

Tentative schedule