Modiwl ICP-2150:
Advanced Java Programming

Ffeithiau’r Modiwl

Rhedir gan School of Computer Science and Electronic Engineering

10 Credyd neu 5 Credyd ECTS

Semester 1

Trefnydd: Dr David Edward Perkins

Amcanion cyffredinol

To provide an in-depth understanding of advanced features of Java, including 2D graphics, graphical user interfaces, multi-threading, network programming, database programming using JDBC, and the use of XML based APIs.

Cynnwys cwrs

Rendering 2D images inside frames; drawing complex objects; colour schemes; implementing classes that draw objects.

Panel customisation; layout management; design of frames, choices, menus; AWT and Swing frameworks; Event Driven Programming; event handling.

Basics of thread operations; structure of threaded programs; thread priorities; thread synchronization; deadlock avoidance; applications of multithreaded programming.

Overview of the Internet Protocol; HTTP; networking with Java; sockets; client and server software; implementing simple protocols; URL connections. Use of the JDBC API to connect to a database; database programming facilities in Java; use of open-source databases (e.g. MySQL ) and lightweight Java databases (e.g.HSQL, Derby).

XML elements and attributes; parsing XML documents; creating XML documents; use of DTDs to validate XML documents; use regular expressions to define a DTD; the DOM standard; SAX interface; XPath syntax.

Cyswllt Canlyniad dysgu i Meini Prawf

  threshold

40%

good

60%

excellent

70%

Make use of Java’s 2D graphics facilities.

Render a complex 2D image inside a frame. Render a simple 2D image inside a frame. Demonstrate extensive knowledge of the Java Graphics2D library.

Design and develop graphical user interfaces using Java-based programming structures.

Write a Java program with a graphical user interface that responds to user generated events (e.g. button clicks). Customize panel structures to conform with specialised user requirements. Effectively combine layout managers to create desired interface; make use of a wide range Java’s graphical components

Develop and test multi-threaded software.

Synchronise data access in threads; write multi-threaded applications which run with no deadlocks. Write a simple multi-threaded program. Apply multi-threading techniques to the solution of complex programming problems.

Develop software for internet-based exchange of information.

Explain how to set-up a basic client/server application using Java Design and set-up a communication between two machines with a client/server configuration. Develop multi-user network applications (e.g. chat programs, network versions of popular games etc)

Develop applications to access and manipulate data in a relational database

Connect to, query and manipulate a database using a JDBC driver and the java.sql package Write well-structured code which may be easily reused across a range of DBMSs; access and appropriately utlise meta-data. Make use of advanced features of JDBC including: stored procedures, transaction processing, row sets and cached row sets.

Encode data using XML, define DTDs for XML documents, make use of an XML parser

Design an XML document on the basis of informal data descriptions; describe the role that XML plays in web applications. Successfully parse an XML document of arbitrary complexity using either the SAX and DOM parsing API; understand a DTD. Define a DTD for use with an XML document; use a range of techniques to generate and validate XML files.

Dulliau asesu

Math Enw Disgrifiad Pwysau
Open Book Programming Examination 50
Laboratory Exercises 50

Strategaeth addysgu a dysgu

Oriau
Private study 48
Laboratory 24
Lecture 24
  4

Sgiliau Trosglwyddadwy

  • Llythrennedd - Medrusrwydd mewn darllen ac ysgrifennu drwy amrywiaeth o gyfryngau
  • Rhifedd - Medrusrwydd wrth ddefnyddio rhifau ar lefelau priodol o gywirdeb
  • Defnyddio cyfrifiaduron - Medrusrwydd wrth ddefnyddio ystod o feddalwedd cyfrifiadurol
  • Hunanreolaeth - Gallu gweithio mewn ffordd effeithlon, prydlon a threfnus. Gallu edrych ar ganlyniadau tasgau a digwyddiadau, a barnu lefelau o ansawdd a phwysigrwydd
  • Archwilio - Gallu ymchwilio ac ystyried dewisiadau eraill
  • Sgiliau Rhyngbersonol - Gallu gofyn cwestiynau, gwrando'n astud ar atebion a'u harchwilio
  • Dadansoddi Beirniadol & Datrys Problem - Gallu dadelfennu a dadansoddi problemau neu sefyllfaoedd cymhleth. Gallu canfod atebion i broblemau drwy ddadansoddiadau ac archwilio posibiliadau
  • Cyflwyniad - Gallu cyflwyno gwybodaeth ac esboniadau yn glir i gynulleidfa. Trwy gyfryngau ysgrifenedig neu ar lafar yn glir a hyderus.
  • Gwaith Tîm - Gallu cydweithio'n adeiladol ag eraill ar dasg gyffredin, ac/neu fod yn rhan o dîm gweithio o ddydd i ddydd
  • Mentora - Gallu cefnogi, helpu, arwain, ysbrydoli ac/neu hyfforddi eraill
  • Rheloaeth - Gallu defnyddio, cydlynu a rheoli adnoddau (dynol, ffisegol ac/neu ariannol)
  • Dadl - Gallu cyflwyno, trafod a chyfiawnhau barn neu lwybr gweithredu, naill ai gydag unigolyn neu mewn grwˆp ehangach

Sgiliau pwnc penodol

  • Knowledge and understanding of facts, concepts, principles & theories
  • Use of such knowledge in modelling and design
  • Problem solving strategies
  • Analyse if/how a system meets current and future requirements
  • Deploy theory in design, implementation and evaluation of systems
  • Deploy tools effectively
  • Development of general transferable skills
  • Defining problems, managing design process and evaluating outcomes
  • Knowledge and/or understanding of appropriate scientific and engineering principles
  • Knowledge and understanding of computational modelling
  • Principles of appropriate supporting engineering and scientific disciplines

Rhagofynion a Chydofynion

Rhagofynnol ar gyfer:

Cyrsiau sy’n cynnwys y modiwl hwn