My choice

SM1:

SM2:

Winter Pool:

SM1

Semester 1 of UG3 is focusing on application application and engineering.

Professional Issues (Level 10) (INFR10022)

Reading List:

  • Professional Issues in Information Technology, 2nd Edition, Frank Bott, BCS Learning & Development Limited, 2014.

Learning Outcomes:

  • Identify a range professional and unprofessional behaviour in a range of ICT-related contexts and identify remedial action in the case of unprofessional behaviour
  • Work effectively in a ICT-related team being able to play a number of different roles and effectively communicate inside and outside the team.
  • Correctly identify issues arising from the organization and management of public and private enterprises and how these influence the design, construction, deployment and operation of ICT systems and how such issues might be resolved.
  • Correctly identify how legal systems influence the constitution of ICT-related organisations and how legislation regulates those organisations operations and interactions with other entities and how such issues might be resolved.
  • Correctly identify how broader social and ethical considerations influence the work of ICT professionals and how such issues might be resolved.

Informatics Large Practical (INFR09051)

Reading List:

  • none

Learning Outcomes:

  • Consider alternative algorithm designs and data structures for tackling a given problem.
  • Show awareness of the difference between design and implementation in software development.
  • Implement and debug a software system of medium to large size.
  • Design and carry out experiments and tests, and explain the methodology involved.
  • Write a well-structured report providing clear and concise documentation for a software project.

Introduction to Vision and Robotics (INFR09019)

Reading List:

  • Russell & Norvig Chapters 24 & 25 in Artificial Intelligence: A modern approach, Prentice Hall, 1995, ISBN: 0130803022 Highly Recommended
  • Robin R. Murphy, Introduction to AI Robotics, MIT Press, 2000, ISBN: 0262133830, Recommended, suppementary for Robotics
  • Solomon and Breckon, Fundamentals of Digital Image Processing, Wiley-Blackwell, 2010, ISBN 978-0470844731, Highly Recommended
  • Ulrich Nehmzoe, Mobile Robotics: A Practical Introduction, 2nd Edition, Recommended
  • W. Burger, M Burge: principles of Digital Image Processing, Springer 2009, ISBN: 978-848001909, Covers some of IVR, AV matreials but maybe less than 50%, also on-line free inside the University
  • RC Gonzalez, RE Woods, SL Eddins: Digital Image Processing Using MATLAB, 2nd Edition, Prentice Hall 2009, ISBN: 9780982085400, Excellent but expensive, covers alot of IVR some of AV
  • E. Alpaydin, Introduction to Machine Learning, The MIT PRess, October 2004, ISBN: 0262012111, Recommended. Chapters are a deeper exploration of the Bayesin Classification topic

Learning Outcomes:

  • Students will be able to recall and explain the essential facts, concepts and principles in robotics and computer vision, demonstrated through written answers in examination conditions.
  • Students will be able to describe and evaluate the strengths and weaknesses of some specific sensor and motor hardware; and some specific software methods for sensory processing and motor control, demonstrated through written answers in examination conditions.
  • Students will be able to employ hardware (e.g. cameras, robots) and software (e.g. Matlab,robot simulator) tools to solve a practical problem of sensory-motor control, and will show a working system in a practical class.
  • Students will, in writing a joint report, identify problem criteria and context, discuss design and development, test, analyse and evaluate the behaviour of the sensory-motor control system they have developed.

Automated Reasoning (INFR09042)

Reading List:

  • John Harrison. Handbook of Practical Logic and Automated Reasoning, CUP, 2009.
  • Tobias Nipkow and Gerwin Klein. Concrete Semantics with Isabelle/HOL, Springer, 2014.
  • T. Nipkow, L. C. Paulson, and M. Wenzel. Isabelle/HOL: A Proof Assistant for Higher- Order Logic , Springer, 2002.
  • M.Huth and M.Ryan. Logic in Computer Science, Modelling and and Reasoning about Systems, CUP, 2nd Edition, 2004.

Learning Outcomes:

  • Use sophisticated mechanisms available in theorem provers to represent problem.
  • Write interactive proof in procedural and declarative styles.
  • Use interactive and automated methods to carry out proofs in the theorem prover.
  • Represent and reason about mathematical and other less formal knowledge using logic.
  • Understand and compare automated reasoning techniques and apply them using pen-and-paper.

Introductory Applied Machine Learning (INFR10069)

Reading List:

  • Hands-On Machine Learning with Scikit-Learn & Tensor Flow. Aurelien Geron, O’Reilly, 2017.
  • Elements of Statistical Learning by T. Hastie, R. Tibshirani and J. Friedman (Springer 2009)
  • Bayesian Reasoning and Machine Learning by D. Barber (CUP, 2012)
  • Data Mining: Practical Machine Learning Tools and Techniques, Ian H. Witten, Eibe Frank, Mark A. Hall, 3rd edition, Morgan Kaufmann, 2011.

Learning Outcomes:

  • Explain the scope, goals and limits of machine learning, and the main sub-areas of the field.
  • Describe the various techniques covered in the syllabus and where they fit within the structure of the discipline.
  • Critically compare, contrast and evaluate the different ML techniques in terms of their applicability to different Machine Learning problems.
  • Given a data set and problem, use appropriate software to apply these techniques to the data set to solve the problem.
  • Given appropriate data, use a systematic approach to conducting experimental investigations and assessing scientific hypotheses.

SM2

Semester 2 of UG3 is focusing on detailed explanation of the mechanism.

System Design Project (INFR09032)

Reading List:

  • The Elements of Style, W.Strunk Jr & E.B.White
  • Lend me Your Ears, Max Atkinson
  • The Visual Display of Quentitative Information, Edward Tufte

Learning Outcomes:

  • Working as members of a team in designing and implementing a complex and multi-faceted system
  • Planning and monitoring the effort of a project to meet milestones and deadlines, within a limited time scale
  • Drawing together knowledge and understanding of wide areas of software and hardware systems
  • Demonstrating and presenting the outcome from a practical project
  • Documenting the feasibility, design and development of a potential product

Algorithms and Data Structures (INFR10052)

Reading List:

  • Introduction to Algorithms (3rd Edition), Cormen, Leiserson, Rivest, Stein: . MIT Press, 2002. (Course text)

Learning Outcomes:

  • Should be able to describe, and implement, the major algorithms for well known combinatorial problems such as Sorting, Matrix Multiplication, Minimum Spanning Trees, and other problems listed in the syllabus.
  • Should be able to demonstrate familiarity with algorithmic strategies such as Divide-and-Conquer, the Greedy strategy and Dynamic Programming; and should be able to test these strategies on new problems and identify whether or not they are likely to be useful for those problems.
  • Should be able to construct clear and rigorous arguments to prove correctness/running-time bounds of algorithms, and should be able to present these arguments in writing.
  • Should be able to explain the importance of the data structures used in a particular implementation of an algorithm, and how the data structure that is used can affect the running time.
  • Should be able to construct simple lower bound arguments for algorithmic problems, and to understand the relationship between upper and lower bounds. Also should be able to perform simple average-case analyses of the running-time of an algorithm, as well as worst-case analyses.

Computer Communications and Networks (INFR10074)

Reading List:

  • J.F. Kurose and K.W. Ross, “Computer Networking: A Top-Down Approach”, 7th Edition, Pearson Education, 2017
  • L.L. Peterson and B.S. Davie, “Computer Networks: A Systems Approach”, 5th Edition, Morgan Kaufmann, 2012
  • A.S. Tanenbaum and D.J. Wetherall, “Computer Networks”, 5th Edition, Pearson Education, 2011

Learning Outcomes:

  • Explain key networking concepts, principles, design issues and techniques at all protocol layers.
  • Contrast between different types of networks (e.g., wide area networks vs. local area networks, wired vs. wireless) in terms of their characteristics and protocols used.
  • Describe different types of networked applications and what underlying network protocols are needed to meet their diverse requirements.
  • Distinguish between control and data planes in computer networks, and their corresponding architectures in real-world networks (including the Internet).
  • Understand reliable transport protocols and networked system architectures via implementation using Socket APIs, measurement and analysis.

Foundations of Natural Language Processing (INFR10078)

  • Credit: 20
  • 75%WE + 25%CW

Reading List:

  • REQUIRED: Dan Jurafsky and James Martin Speech and Language Processing (3rd edition online, and 2009 2nd edition for chapters that aren’t yet updated in 3rd edition).
  • RECOMMENDED: Bird, S., E. Klein and E. Loper, Natural Language Processing with Python, (2009) O’Reilly Media.

Learning Outcomes:

  • Identify and analyze examples of ambiguity in natural language—ambiguity in part-of-speech, word sense, syntax, semantics and pragmatics. Explain how ambiguity presents a problem for computational analysis and NLP applications and some of the ways it can be addressed (see (2) to (5)).
  • Describe and apply standard sequence models (e.g., HMMs), classification models (e.g., Naive Bayes, MaxEnt); parsing algorithms (e.g., statistical chart parsing and dependency parsing) for processing language at different levels (e.g. morphology, syntax and semantics), and simulate each algorithm on `toy linguistic examples step-by-step with pen and paper.
  • Explain and provide examples of how sparse data can be a problem for machine learning in NLP; describe and apply methods for addressing the sparse data problem.
  • Given an appropriate NLP problem, students should also be able to identify suitable evaluation measures for testing solutions to the problem, explain the role of annotated corpora in developing those solutions, and assess and justify which sequence of algorithms are most appropriate for solving the problem, based on an understanding of the algorithms in (2) and (3).
  • Implement parts of the NLP pipeline with the help of appropriate support code and/or tools. Evaluate and interpret the results of implemented methods on natural language data sets.

Operating Systems (INFR10079)

Reading List:

  • A. Silbershatz, P. Galvin, and G. Gagne, ‘Operating Systems Concepts’ (10th Edition), John Wiley Addison-Wesley, 2018
  • W. Stallings, ‘Operating Systems, Internals and Design Principles’ (5th edition or later), Prentice Hall, 2005.

Learning Outcomes:

  • Describe the structure and components of modern operating systems
  • Explain the abstract concepts and concrete implementations of operating systems
  • Compare and contrast the differing approaches taken by various operating systems
  • Evaluate the suitability of differing approaches in different application domains
  • Design OS components to address particular needs

Software Testing (INFR10057)

Reading List:

  • Mauro Pezzè and Michal Young, Software Testing and Analysis, John Wiley & Sons, 2008
  • Glenford J. Myers, et al, The Art of Software Testing , John Wiley & Sons Inc, 2004
  • Scott Loveland et al, Software Testing Techniques: Finding the Defects That Matter , Charles River Media, 2004
  • R. Patton, Software Testing, SAMS, 2005
  • C Kaner, J Bach & B Pettichord Lessons Learned in Software Testing: A Context-Driven Approach, Wiley Europe, 2002
  • There is also extensive supporting material online which will be used in teaching

Learning Outcomes:

  • Analyze requirements to determine appropriate testing strategies
  • Design and implement comprehensive test plans with instrumented code
  • Apply a wide variety of testing techniques and compute test coverage and yield according to a variety of criteria
  • Evaluate the limitations of a given testing process, using statistical methods where appropriate, and summarise outcomes
  • Conduct reviews and inspections