BSc (Hons) Computing is a three years course of Coventry University. The uptake of digital technology in society has greatly increased our need for interactive computing devices – now an intrinsic part of everyday life for anything and everything from entertainment and education to healthcare, work and transport.
This course focuses on applying computing concepts, such as web technologies and mobile computing systems, with a focus on software development design, as well as usability and Human Computer Interaction (HCI).
On successful completion, student should be able to:
- Demonstrate knowledge and understanding of the underlying technology, design methods and programming languages required to practice as an IT professional
- Appreciate the cultural,commercial, ethical and professional issues connected with the IT industry and professional practice within it.
- Demonstrate awareness of emergent technologies and techniques in the wider computing domain, such as distributed resources, big data and application development.
- Apply appropriate problem-solving techniques and design protocols to computing requirements or issues.
- Research the concept, design and development of a product in the computing domain, providing relevant and useful conclusions in the evaluation of the implementation.
The candidates seeking admission in BSc (Hons) Computing of Coventry University must have completed 10+2 or equivalent from a recognized board.
1. Programming and Algorithms
Introduction to programming, algorithms, data structures, testing, and version control.
Tools used: Python, Git
2. Software Design
Introduction to principles of good software design. Introduces various software project management approaches used in industry.
Tools used: Agile Scrum, Lean, Kanban, XP, Design Principles, Design Patterns, MVC.
3. Mathematics for Computer Science
Propositional logic and induction, Sets, Functions, Relations, Number systems, Graphs, Networks, Sorting and Packing algorithms.
4. Computing ALL Project 1
Students will develop a range of high-quality software with application of good programming practices, testing and version control. Students learn working in team using Agile methodology, time management, research, development, write, present ideas, and critical reflection skills.
Tools used: Python, Git, GitHub, Trello
1. Object Oriented Programming
Introduction to object-oriented programming techniques and designs. Data structures, Abstract data types, debugging, profiling, testing and version control.
Tools used: Java, Junit, Git, UML
2. Computer Architecture and Networks
Computer hardware, CPU architecture, memory devices, logic gates, CPU instruction sets, Parallel processing, Networking, OSI model, TCP/IP model, Protocols, Mobile computing.
Tools used: intel x86 CPU, Cisco Packet Tracer, etc.
3. Database Systems
Relational databases, Normalisation, ER diagrams, document-based approaches, SQL, NoSQL, Data visualisation using R or Python.
Tools used: MySQL server, MSSQL Server, Python matplotlib, R, RStudio
4. Computing ALL Project 2
Students will develop a range of high-quality software with web capabilities, testing and version control. Students learn working in team using agile methodology, time management, research, development, write, present ideas, and critical reflection skills.
Tools used: Java, JSP, Servlets, Git, GitHub, Trello, MySQL server, Apache Tomcat
5. Creative Thinking for Business
Identifying business opportunities, understanding of business models, creative problem solving, developing a creative culture.
1. Web Development
Full-stack web application development, Networking concepts including server, client, and web protocols, develop secure dynamic web server, Client-side scripting, Databases.
2. Programming for Developers
Advanced data structures like heap, graph, tree, hash tables. Advanced algorithms like greedy, heuristic, backtracking, divide and conquer. Advanced programming with multi-threading, lambda expression, functional programming, and design patterns. Critical analysis on space/time complexity and performance of various algorithms.
Tools used: Java
3. Software Development
Software development models: Waterfall, Spiral, V-model, Agile scrum, Kanban, Lean, etc. Requirements engineering, Behaviour-driven development (BDD), Test-driven development (TDD), Software architectural patterns, design principles, design patterns, CI/CD pipeline.
1. People and Computing
User interface design, usability, computer law, copyrights, IP, data protection, professional ethics.
Tools used: Paper prototyping, Figma, Wizard of Oz, etc.
2. Enterprise Project
Working in team, System development using agile methodologies, application of professional and industry standard practices.
Tools used: IoT sensors and actuators, automation, Arduino, Raspberry PI, etc.
3. Data Science for Developers
Data mining, big data, Relational databases, NoSQL databases, Statistical analysis, Probabilities, Map/Reduce, Hadoop, Data visualisation and analytics.
Tools used: Python, R, MySQL, MongoDB, Graph DB, Cassandra DB, NumPy, matplotlib, Weka, etc.
4. Be Your Own Boss
Feasibility study of a new business, market research, competitor analysis, developing financial planning, developing entrepreneurial mind-set and skills, business model development.
1. Computing Project Preparation
Academic research preparation, research methodologies, project planning, literature review, ethics approval process, individual project proposal.
Tools used: Scopus, Science Direct, Google Scholar, RefWorks, Locate, etc.
2. Web API Development
Design and develop public RESTful Web API, and interactive web client to consume the prepared web API. Web API security and authentication, OpenSSL, client libraries, version control, automated testing, call-backs, functional programming.
3. Mobile Application Development
Design and develop mobile applications, implementation of security policies, authentication, data security, privacy, use of cloud computing for the mobile applications. Material design, common design patterns, use of third-party packages.
Tools used: Flutter, Swift, Java, Kotlin, OpenSSL, SSL certificates, automated testing, version control.
4. Design Thinking and Innovation
Entrepreneurship and design thinking, application of design thinking to business scenarios. Innovate new business ventures and application of business model in practice.
1. UX Design
Design of effective user interfaces, user centred design process, prototypes, development of product level GUI, evaluation of effectiveness of user experiences on the developed GUIs.
Tools used: Paper prototyping, UCD, Figma, Wizard of Oz
Defensive programming, Cryptography, Public-key infrastructure, Secure signature, certification, SSL, HTTPS, file encryption, hmac, session IDs, hashing, multi-factor authentication, Network security, VPNs, IPSEC, Wireless security, Block chain, Biometrics, Quantum cryptography.
3. Individual Project
Conduct in-depth investigation on a specialisation topic. Development of a tool/product/algorithm/software and its evaluation. Application of student’ specialisation interest into a working product or solution and systematic evaluation of such product.