Course Details
Course Information Package
Course Unit Title | SOFTWARE METHODOLOGY | ||||||||||
Course Unit Code | ACSC359 | ||||||||||
Course Unit Details | |||||||||||
Number of ECTS credits allocated | 5 | ||||||||||
Learning Outcomes of the course unit | By the end of the course, the students should be able to:
| ||||||||||
Mode of Delivery | Face-to-face | ||||||||||
Prerequisites | ACSC182,ACSC183 | Co-requisites | NONE | ||||||||
Recommended optional program components | NONE | ||||||||||
Course Contents | Principles of Software Engineering: Design – User Interface (Menus and GUIs), Design Principles and Guidelines Interface Design. Modularity – Components type, size and complexity, Information hiding, Coupling and cohesion, OO Programming. Structured Programming – Selecting Control Structures. Data Flow Design – Identifying data flows, Creation of structure chart. Data Structure Design. OO Design. Process Models – The Waterfall Model. The spiral model. Prototyping. Incremental Development. Open-Source. Extreme Programming. The unified Process. Project Management – Teams. Software Metrics and quality assurance. Management.
Introduction to Databases: Databases and Database Users, Database System Concepts and Architecture, Data Modeling Using the Entity-Relationship (ER) Model, Conceptual Model, The Enhanced Entity-Relationship (EER) Model, The Relational Data Model and Relational Database Constraints, Relational Database Design by ER, EER-to-Relational Mapping, Normalization for Relational Databases.
Introduction to Structured Query Language (SQL): Queries ( Select, From, Where clause, Like clause, Having clause, Order By clause, Count, Group By, Join Inner/Right, Outer/Left Join). DDL: Create Table, Alter Table, Truncate Table, Drop Table. DML: Insert Into statement, Update statement, Delete From statement.
Java Programming Language: History, Introduction to Java, Selecting a Development Tool (JDK, SDK etc.), JDK Contents (java, javac, javadoc etc) Compile and run from command line. NetBeans. Encapsulation. Library Classes. Inheritance. Polymorphism. Packages. Abstraction and Interfaces. Exceptions and exception handlers. Input/output Mechanisms. Objects and Instances. Constructors. Setters and Getters.
Java Database Connectivity (JDBC): Connecting to JDBC data source. Querying JDBC data source. Manipulating databases with JDBC. Example Application.
Laboratory Work: Design and develop fully functioning and well-behaved database systems using SQL, applications using Java Object-oriented programming language as well as their integration using JDBC. | ||||||||||
Recommended and/or required reading: | |||||||||||
Textbooks |
| ||||||||||
References |
| ||||||||||
Planned learning activities and teaching methods | The course is structured around lectures, assignments, laboratory exercises and individual work. During the lectures, students are encouraged to participate in discussions enabling the exchange of ideas and examples. Laboratory exercises are handed to students and their solutions are discussed at laboratory periods. Additional tutorial time at the end of each lecture is provided to students as well as additional notes for each section of the course and worksheets, which process in the lab or as homework. Students are expected to demonstrate the necessary effort to become confident with the different concepts and topics of the course. | ||||||||||
Assessment methods and criteria |
| ||||||||||
Language of instruction | English | ||||||||||
Work placement(s) | NO |