CSC1110: 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.
(prereq: none) (3-2-4)
Outcomes
On successful completion of this course, the student will:
- Design and document an algorithmic solution for a given problem statement
- Use if/if-else/switch statements to control program flow in algorithmic solutions
- Select the appropriate selection control statement for a given task
- Create and interpret complex expressions that use relational and boolean operators
- Use while/do-while/for statements to control repetition in algorithmic solutions
- Select the appropriate repetition control statement for a given task
- Translate UML class diagrams into Java code
- Design and implement simple classes
- Design and implement class and object methods
- Use existing Java class libraries
- Design and implement simple Java programs
- Declare and use collections of primitive and object data using arrays
- Declare and use collections of object data using ArrayLists
- Explain the rationale for object-oriented design and programming
- Apply composition, inheritance, and interfaces
- Distinguish between extending a class (inheritance) and implementing an interface
- Design and implement simple Java classes and packages
- Document the implementation of small software systems
- Make appropriate use of exception handling
- Use classes from the Java standard library to read and write files on disk
- Use the Java API specification (javadoc) to determine correct use of standard library classes
Textbook
Introduction to Programming with Java: A Problem Solving Approach, 3rd Ed., by Dean and Dean, McGraw-Hill, 2021. There are two purchasing options:
- VitalSource Inclusive Access eBook with Online Access, ISBN: 978-1-26-095839-3
- If you'd like a hard copy, you can also add Loose Leaf Inclusive Access, ISBN: 978-1-26-426033-1
Online access to the book should be available in Canvas. If you would like to purchase a hardcopy please contact our bookstore.