BSc in Computer Engineering / Бакалавр в Області Комп'ютерної Інженерії

Course Details

Course Information Package

Course Unit TitleSOFTWARE METHODOLOGY
Course Unit CodeACSC359
Course Unit Details
Number of ECTS credits allocated5
Learning Outcomes of the course unitBy the end of the course, the students should be able to:
  1. Describe modern practices in the development of software and introduce the principles of software engineering.
  2. Explain the key aspects for developing robust software including modularity, object orientation, reusability and human interface design.
  3. Explain and critically evaluate the key process models for constructing software (waterfall, spiral, prototyping, agile).
  4. Examine project management and feasibility analysis issues related to software projects.
  5. Explain and show the ability to implement concepts related to the design and utilization of database management systems using SQL.
  6. Demonstrate basic knowledge in developing Java Object-oriented applications.
  7. Demonstrate basic knowledge on the integration of Java and SQL using JDBC.
Mode of DeliveryFace-to-face
PrerequisitesACSC182,ACSC183Co-requisitesNONE
Recommended optional program componentsNONE
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
  • Douglas Bell, “Software Engineering for Students. A Programming Approach.” Pearson Education Limited, Fourth edition 2005.
  • Ramez Elmasri and Shamkant B. Navathe, “Fundamentals of Database Systems”, 5/E, Publisher: Addison-Wesley, 1168 pp, 2007.
References
  • H. M. Dietel, P. J. Dietel and S. E. Santry, “Advanced Java 2 Platform – How to Program”. Prentice Hall, 2002.
Planned learning activities and teaching methodsThe 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
Assignments10%
Tests20%
Laboratory work10%
Final Exam60%
Language of instructionEnglish
Work placement(s)NO

 Друк  E-mail