Document Type

Syllabus

Publication Date

Spring 2024

Course Description

(from the Catalog) A study of fundamental techniques and tools for managing software development projects, together with relevant professional and ethical issues. Topics include methodologies such as UML diagrams for software specication and design, documentation standards, and tools for testing, code management, analysis, and debugging. Object oriented programming techniques such as inheritance and polymorphism are emphasized. Students will develop skills in individual and team software development through extensive practice designing and implementing object oriented software systems. In addition, students gain experience reading, documenting, presenting and critiquing such systems. The course will emphasize techniques for eective object oriented software development. Topics such as composition, collections, generics (templates), inheritance, abstract classes, polymorphism, and design patterns will be covered. Students will learn how to work within a Linux environment, and how various Linux tools can assist them as programmers. Additionally, students will learn to use development tools and technologies such as Eclipse, Git, JUnit, and Apache Ant or Maven.

Student Outcomes

Students will be able to apply object-oriented features (e.g., inheritance, polymorphism, etc.) to the design and implementation of software projects/assignments Students will be able to identify and implement popular OOP design patterns Students will be able to navigate and use an industry-grade integrated development environment and related tools Students will be able to understand and apply advanced features of the Java programming language and standard library Students will be able to build and extend medium-sized software projects in coordination with other developers

Share

COinS