Semester I
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.
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
Semester II
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.
Semester I
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.
Tools used: Python Django, Flask, Jinja 2 templates, MySQL server, JavaScript, HTML, CSS, Git, etc.
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.
Tools used: Java, Spring, Hibernate, MySQL server, HTML, CSS, JavaScript, Git, GitHub, etc.
Semester II
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.
Semester I
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.
Tools Used: ReactJS, Angular JS, Vue JS, JavaScript, NodeJS, Express JS, MongoDB, etc.
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.
Semester II
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
2. Security
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.
Full Stack Web Development
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.
Tools used: Python Django, Flask, Jinja 2 templates, MySQL server, JavaScript, HTML, CSS, Git, 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.
Tools Used: ReactJS, Angular JS, Vue JS, JavaScript, NodeJS, Express JS, MongoDB, etc.
Mobile Application Development
1. Introduction to Mobile Application Development
Design and develop mobile applications, implementation of security policies, authentication, data security, privacy, use of cloud computing for the mobile applications.
Tools used: Dart, Flutter, Firebase, version control, automated testing, etc.
2. Mobile Application Development(Advanced)
Design and develop mobile applications (cross-platform), 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, state management, clean architecture.
Tools used: Dart, Flutter, OpenSSL, SSL certificates, automated testing, version control, RESTful API, etc.
Data Analytics
1. Data Science for Developers
Data structures, Data mining, Big-data, Relational databases, NoSQL databases, Statistical analysis, Probabilities, Linear modelling, Map/Reduce, Hadoop, Data visualisation and analytics, Exploratory data analysis.
Tools used: Python, R, MySQL, MongoDB, , Weka, tidyverse etc.
2. Data Analytics
Data collection, Data preparation, Data cleansing, Data mining, Data analysis, Visualisation, Decision-making, Generating insights, Problem-solving, Data ethics.
Tools used: Map/Reduce, PySpark, Lambda architecture, Kappa architecture, SQL, R/Python programming, NumPy, matplotlib and seaborn, Tableau, etc.
Artificial Intelligence
1. Data Science for Developers
Data structures, Data mining, Big-data, Relational databases, NoSQL databases, Statistical analysis, Probabilities, Linear modelling, Map/Reduce, Hadoop, Data visualisation and analytics, Exploratory data analysis.
Tools used: Python, R, MySQL, MongoDB, Weka, tidyverse etc.
2. Artificial Intelligence
Neural Networks, Deep Learning, Machine Learning, Knowledge representation and reasoning, fuzzy logic, expert systems, natural
language processing, intelligent agents.
Tools used: Python, Scikit-Learn, Weka, SWI Prolog, Tensorflow etc.