CS 1021 - Software Development II

3 lecture hours 2 lab hours 4 credits
Course Description
This course continues the study of objected-oriented software development using the Java programming language. Students design, document and implement software classes and incorporate these classes into larger applications. Topics covered include abstraction, encapsulation, declaring and implementing abstract data types, interfaces, inheritance, polymorphism, graphical user interfaces, simple event-driven programming, exception handling, and file I/O. (prereq: CS 1011  or SE1011 )
Course Learning Outcomes
Upon successful completion of this course, the student will be able to:
  • Explain the rationale for object-oriented design and programming
  • Translate UML class and sequence diagrams into Java code
  • Apply composition, inheritance, and interfaces
  • Distinguish between extending a class (inheritance) and implementing an interface
  • Define polymorphism
  • 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

Prerequisites by Topic
  • Selection and iteration statements
  • Simple Java programs
  • Simple Java classes
  • UML class diagrams into Java code
  • Arrays and ArrayLists

Course Topics
  • Java fundamentals
  • GUI
  • Event-driven programming
  • Aggregation, composition, generalization, and realization in UML class diagrams
  • Inheritance and polymorphism
  • Interfaces/Abstract classes
  • Exception handling
  • File I/O

Laboratory Topics
  • ArrayLists
  • Inheritance
  • Interfaces
  • GUI
  • Event handling
  • Exception handling
  • File I/O

Coordinator
Christopher Taylor


Print-Friendly Page (opens a new window)