CNG457 SPECIAL TOPICS IN COMPUTER ENGINEERING: SOFTWARE CONSTRUCTION
Course Code: | 3550457 |
METU Credit (Theoretical-Laboratory hours/week): | 3 (0.00 - 0.00) |
ECTS Credit: | 6.0 |
Department: | Computer Engineering |
Language of Instruction: | English |
Level of Study: | Undergraduate |
Course Coordinator: | Assist.Prof.Dr ŞÜKRÜ ERASLAN |
Offered Semester: | Fall and Spring Semesters. |
Course Objectives
The objective of this course is to enable students to design, develop and test medium-scale concurrent interactive software systems with GUI by applying design patterns to achieve quality attributes such as performance, extensibility and reusability, with the use of modern development tools, including version control systems, development environments, build and test automation, debugger, and static analysis tools.
Course Content
Development of a complete software system based on available reference architectures; best practices in development; contemporary development environments and tools; architectural styles; concurrency; design patterns; libraries and frameworks;development of interface mechanisms including services and APIs;GUI design and implementation;design for reusability; component implementation; unit,component and system testing
Course Learning Outcomes
Upon successful completion of the course, the students will be able to
- Use the selected integrated development environment tool and git version control system proficiently
- Design GUI for applications in Java
- Develop web services with data persistence using Java
- Use a UML tool for software modelling
- Develop an end-to-end software system with enterprise level standards using Java
- Understand at least 6 major design patterns
- Use at least 3 modern libraries, components, frameworks.
- Write thread-safe concurrent programs in Java
- Write test cases and conduct automated tests for software they develop