Dr Keith Leonard Mannock
-
Overview
Overview
Biography
A bit of history...
I took up a full-time lectureship at Birkbeck in 1986 (that long ago!). I've continued to foster links with industry (see my research pages) and work in the areas of programming languages (especially languages for the JVM and OSX), software engineering, and visual information systems (multimedia information retrieval).
I received a B.Sc. degree with first-class honours in Computer Science (CNAA) from the Polytechnic of Central London. I also have an HND with Distinction in Computer Studies! Studying at a Polytechnic was a conscious decision for me — I wanted to avoid the "ivory towers" view of life; I received some support from Esso (bang goes my Green credentials).Whilst an undergraduate, I did external consultancy — the money came in very useful! I then studied for my PhD at University College London in electronic document retrieval under Professor Clement Leung. As a research student, I continued to do external consultancy and teaching at various Colleges.
Highlights
I am a senior lecturer in Computer Science at Birkbeck, University of London.
I am involved in several open-source and commercial programming projects.
I used to do commercial consultancy - but now I’m too busy (and probably need a rest!).
I ❤️ writing software and trying to convince others of its elegance and artistry!"It was a lot more fun being 20 in the '70s than 70 in the '20s" — Joe Walsh
Office hours
Please use the booking facility on MS Teams...
Web profiles
Administrative responsibilities
- Programme Director for the MSc in Information Technology
- Home and International Recruitment and Admissions Lead in the School of Computing and Mathematical Sciences
- Library representative
Professional memberships
BCS - British Computer Society
IEEE Computer Society - Institute of Electrical and Electronics Engineers
ACM - Association for Computing Machinery
AAAI - American Association for Artificial Intelligence
ALT - Association for Learning Technology
AAISB - Association for Artificial Intelligence and Simulation of Behaviour
IET - The Institution of Engineering and Technology
ORCID
0000-0001-5988-6895 -
Research
Research
Research interests
- Programming languages - all types and forms but especially multi-paradigm languages
- Software engineering
- Environments, methodologies, and tools for teaching programming
- Self modifying machine learning architectures
- Information retrieval with particular attention focused on content-based image indexing and retrieval
- Location aware mobile applications
- Cloud and distributed computing as applied to the Enterprise
- Software tooling
Research projects
Jellibeans is a web search tool for assisting users with Autistic Spectrum Disorder (ASD)
-
Supervision and teaching
Supervision and teaching
Supervision
If you have any ideas for a project that fits within my interests, then please feel free to come and discuss it with me. If you are trying to find a topic, here are some areas to consider:
- Automated Web Navigation
- A mini interpreter for Swift - NEW for 2023-24
- Cleaning "dirty" data
- Autonomous Agent Toolkit
- Content-based spam filtering
- Web Search with paragraph spreading...
- Document Image Analysis
- Reputation systems
- Mobile Game Design
- Online Job Portal
- Search Engine Improved Page Ranking
- Image segmentation by clustering methods FlashMob
- Pattern Classification Algorithms
- Visualisation of web query results
- Self-Organizing Imagery
I look to take on intelligent students (which you are by definition of being a Birkbeck student) who are interested in the project they are about to undertake. Students should be self-motivated and keen to explore their topic. Do not be afraid to express your ideas and follow them. However, you must balance your approach and practice scientific practices to evaluate your work. We can work together to create a good, solid project if you have the basics.
I like to see students take control of their projects and run with their ideas and thoughts. This means that students exercise a degree of independence - however, I don’t expect this to translate to going off into a dark corner and never consulting me. My role is to provide some guidance and advice. There is clearly a conflict between these two expectations, so we need to work together to strike a suitable balance between self-direction/independence and guidance.
Bottom line - it is your project, and the supervisor only makes suggestions...
Teaching
My teaching focuses on software-based topics utilising blended learning techniques.
Current teaching modules
- Software and Programming III (since 2012)
- Introduction to Computer Systems (since (2019)
- Applied Software Engineering (since 2020)
- Programming Primer in Python (since 2014)
Past teaching modules
- Software Design and Programming (2012-2022)
- Programming Language Paradigms (2011-2022)
- Programming Paradigms and Languages (2011-2022)
- Enterprise Computing (2012-2020)
- Component-Based Software Development (2000-2020)
- Principles of Programming I (2017-2018)
- Principles of Programming II (2017-2018)
- Programming in Java (2011-2018)
- Software and Programming II (1994-2013)
- Middleware (2010-2012)
- Introduction to Software Development (2009-2012)
- Object-Oriented Design and Programming (2007-2011)
- Component Technologies (2000-2010)
- Introduction to eBusiness (1999-2006)
- Object-Oriented Programming in Java (1997-2006)
- Software and Programming I (1993-1999)
- Object-Oriented Programming in C++ (1991-1996)
- Neural Networks (1990-1994)
- Information Retrieval (1990-1993)
- Advanced Programming Techniques I and II (1987-1992)
- Expert Systems and Artificial Intelligence (1986-1995)
- Operating Systems (1986-1989)
- Database Systems (1982-1989)
Teaching modules
- Introduction to Computer Systems (BUCI008H4)
- Software and Programming III (BUCI056H6)
- Applied Software Engineering (BUCI090S7)
-
Publications
Publications
Book Section
- Falk, G. and Mannock, Keith (2018) First steps in creative computational thinking with natural language programming and Lego MINDSTORMS. In: Arabnia, H.R. and Bahrami, A. and Deligiannidis, L. and Tinetti, F.G. (eds.) Proceedings of the 2018 International Conference on e-Learning, e-Business, Enterprise Information Systems, & e-Government. CSREA Press. pp. 10-16. ISBN 160132474X.
- Mannock, Keith and Aning, Kwabena (2017) An actor model of concurrency for the Swift programming language. In: Arabnia, H.R. and Deligiannidis, L. and Tinetti, F.G. (eds.) Proceedings of the 2017 International Conference on Software Engineering Research and Practice. CSREA Press. pp. 178-183. ISBN 1601324685.
- Counsell, Ellie and Hassoun, Y. and Johnson, R. and Mannock, Keith and Mendes, E. (2003) Trends in Java code changes: the key to identification of refactorings?. In: Power, J.F. and Waldron, W. (eds.) Proceedings of the 2nd International Symposium on Principles and Practice of Programming in Java: PPPJ 2003. International Conference Proceeding Series. ACM. pp. 45-48. ISBN 9780954414511.
- Najjar, R. and Counsell, S. and Loizou, G. and Mannock, Keith (2003) The role of constructors in the context of refactoring object-oriented system. In: 7th European Conference on Software Maintenance and Reengineering: CSMR 2003. IEEE Computational Intelligence Society. ISBN 769519024.
- Counsell, S. and Newson, P. and Mannock, Keith (1999) An hypothesis-based evaluation of an object-oriented inheritance metric. In: Moreira, A.M.D. and Demeyer, S. (eds.) Object-Oriented Technology: ECOOP'99 Workshop Reader. Lecture Notes in Computer Science. Springer. pp. 331-331.
Conference Item
- Chacowry, N. and Mannock, Keith (2017) An aspect-oriented framework for F#. The 2017 International Conference on Computational Science and Computational Intelligence, 2017, Las Vegas, U.S.
- Mannock, Keith and Aning, Kwabena (2017) An architecture and implementation of the actor model of concurrency. The 8th International Conference on Information, Intelligence Systems and Applications, 2017, Larnaca, Cyprus
-
Business and community
Business and community
Outreach
- I've given invited talks on my research work, both on academic and industrial concerns.
- I've run research projects, most of which have been industry-related.
- I've also been involved in several web events in the industry, which are tiring but fun.
- I've been an external examiner on various BSc and MSc programmes and PhDs.
- I have given invited lecture courses at many places….
- In my copious spare time, I write articles and books and develop online courses for programmes, whether that be beginners or professionals.
- I've given invited talks on my research work, both on academic and industrial concerns.