Java程序辅导

C C++ Java Python Processing编程在线培训 程序编写 软件开发 视频讲解

客服在线QQ:2653320439 微信:ittutor Email:itutor@qq.com
wx: cjtutor
QQ: 2653320439
Department of Computer Science and Technology – Course pages 2019–20: Further Java Skip to content | Access key help Search Advanced search A–Z Contact us Department of Computer Science and Technology Computer Laboratory Teaching Courses 2019–20 Further Java Course pages 2019–20 Further Java Syllabus Course materials Information for supervisors Principal lecturers: Prof Alastair Beresford, Dr Andrew Rice Taken by: Part IB CST 50%, Part IB CST 75% Past exam questions No. of practical classes: 5 x 2-hour sessions (for which supervisions should be given) Suggested hours of supervisions: 2 Prerequisite course: Object-Oriented Programming Companion courses: Concurrent and Distributed Systems This course is a prerequisite for the Group Project. Aims The goal of this course is to provide students with the ability to understand the advanced programming features available in the Java programming language, completing the coverage of the language started in the Programming in Java course. The course is designed to accommodate students with diverse programming backgrounds; consequently Java is taught from first principles in a practical class setting where students can work at their own pace from a course handbook. Each practical class will culminate in an assessed exercise. Practical classes Communication and client applications. This class will introduce an integrated development environment. Students will write a simple client to send and receive data to a server via TCP. Serialisation, reflection and class loaders. This class will introduce object serialisation. Students will use a class loader and reflection to inspect an object which is only available at run-time. Concurrency and synchronisation. This class introduces the concurrency and synchronisation primitives found in Java. Students will implement a thread-safe first-in-first-out queue and learn about Java generics. Server applications. Students implement a server in Java which is capable of communicating concurrently with mulitple clients. Vector clocks. This week students will use the concept of vector clocks to make their client and server robust to message delays and reordering. Objectives At the end of the course students should understand different mechanisms for communication between distributed applications and be able to evaluate their trade-offs; be able to use Java generics and annotations to improve software usability, readability and safety; understand and be able to exploit the Java class-loading mechansim; understand and be able to use concurrency control correctly; be able to implement a vector clock algorithm and the happens-before relation. Recommended reading * Goetz, B. (2006). Java concurrency in practice. Addison-Wesley. Gosling, J., Joy, B., Steele, G., Bracha, G. & Buckley, A. (2014). The Java language specification, Java SE 8 Edition. Addison-Wesley. http://docs.oracle.com/javase/specs/jls/se8/html/ © 2020 Department of Computer Science and Technology, University of Cambridge Information provided by Prof Alastair Beresford