The Department, in collaboration with the Department of Industrial Management offers a stream called Computer Studies (COST) to students in the Faculty of Science, Humanities and Social Sciences. The following course units are offered by the Department under the COST stream.
Level 01
COST 11012 - Introduction to Computing

Course Code

: COST 11012

Title

: Introduction to Computing

Pre-Requisites

G.C.E. A/L

Co-Requisites 

COST 11023

Learning Outcomes:

At the completion of this course student will be able to:

  • explain how data are represented, stored, and manipulated by computer hardware
  • use abstraction and decomposition when reasoning about complex systems and problems
  • describe how data can be transmitted over networks and the security concerns that arise
  • apply computing tools and techniques to solve problems at multiple levels of abstraction
  • discuss the impact of computing within economic, social, and cultural contexts
  • recognize problem solving techniques and algorithm development using computers.

Course Content:

Main components of a Computer; Organization of a Computer; Classification of Computers; Software: Systems Software and Application Software; Operating Systems, functions and types of operating systems; Utility Programs, Translators (compilers, interpreters, assemblers); Application Programs: Algorithms, Computer programs, Computer programming Languages; Generations of programming languages; Number Systems; Conversions between number systems; Use of number systems; Binary addition and subtraction; Representation of Numbers; Representation of Characters: ASCII, EBCDIC, Unicode; Representation of Images and Video; Introduction to logic gates; Introduction to Computer Networks; Network topologies; Advantages and disadvantages of computer networks, Introduction to the Internet; Services available on the Internet; Information Systems; Systems Development Life Cycle (SDLC); Social, Ethical, Legal and Economic impacts of the use of computers; Computer crime.

Method of Teaching and Learning:

Lectures, Tutorials and  Assignments

Assessment:

End-of-course written examination and other assessments announced at the beginning of the course unit.

Recommended Reading:

  1. Norton, P. (2006). Introduction to Computers. 6th Tata McGraw-Hill Publishing Company limited, India.
  2. Parsons, J. J., Oja, D. (2003). New Perspective on Computer Concepts. 6th Course Technology a division of Thomson learning Inc.
  3. Ram, B. (2005). Computer Fundamentals: Architecture and organization. 3rd New Age Publications, India.
  4. Forouzan, B. A., Firouz, M. (2008). Foundations of Computer Science. 2nd Cengage Learning EMEA.
  5. Gaddis, T. (2017). Starting out with Python. 4th Edition. Pearson.
COST 11023 - Fundamentals of Programming

Course Code

: COST 11023 

Title

: Fundamentals of Programming

Pre-Requisites

G.C.E. A/L

Co-Requisites 

COST 11012

Learning Outcomes:
At the completion of this course student will be able to:

  • define the basic concepts of the structured programming
  • identify suitable data types and data structures for the real-world problems
  • explain main control structures of procedural programming languages
  • develop structured programs using a procedural language
  • describe functional hierarchical code organization
  • demonstrate knowledge on textual information, characters and strings
  • use language specific features on program development and error handling.

Course Content:

Introduction to Programming: A brief history and types of programming languages; Program Design: Modular programming concepts, Elegance in program design Implementing an algorithm using a programming language Program testing and program; The High Level programming language: First program, compilation, syntax errors, Data types and variable scopes, Constants, Identifiers, Expressions and assignment, Input and output, Arrays, Program selections (if, if-else, switch), Repetition (for, do-while), Control structures; Introduction to Functions; Storage classes; Scope of a variable; Pointers; Structured data types (arrays, structures, unions), Programmer defined data types; Recursion; Inheritance; Virtual Functions, and Dynamic Binding; File processing; Multi-file programming; Bit manipulation and enumerations; Static and Dynamic memory handling; error handling (debugging).

Method of Teaching and Learning:

Lectures, Tutorials, Assignments and Practical 

Assessment:

End-of-course written examination, practical examination and other assessments announced at the beginning of the course unit.

Recommended Reading:

  1. Gottfried, B.S. (2001). Schaum’s Outline of Theory and Problems of Programming in C. 2nd McGraw Hill Professional Publishing.
  2. Gaddis, T. (2017). Starting out with Python. 4th Pearson.
  3. Kelly, A. and Pohl, I. (1999). A Book on C: Programming in C. 4th Addison Wesley Longman Inc.
  4. Rajaraman, V. (2004). Computer Programming in C. 6th Prentice Hall.
  5. Zelle, J. M. (2016). Python programming: an introduction to computer science. 3rd Franklin, Beedle & Associates, Inc.
  6. Guttag, J. (2016). Introduction to Computation and Programming Using Python: With Application to Understanding Data. 2nd Edition. MIT Press.
COST 12032 - Introduction to Computer Networks

Course Code

: COST 12032

Title

: Introduction to Computer Networks

Pre-Requisites

COST 11012

Co-Requisites 

None

Learning Outcomes:
At the completion of this course student will be able to:

  • examine the use of computer networks to identify the influencing factors behind their development
  • explain the principles of a layered protocol architecture
  • identify and describe the system functions in the protocol layer
  • discuss different coding schemes.

Course Content:

Introduction: Data Communication, Network structures, Types of networks, The Internet, Protocols and standards, Layers of the OSI model;

The physical layer: Transmission media (guided and unguided), analog and digital transmission, Transmission impairment, Encoding techniques, Modulation techniques and Modems, Introduction to the medium access sub-layer;

The data link layer: Framing; Introduction to error detection, correction, error control, flow control and data link protocols;

The network layer: Addressing, Internetworking and network layer protocols;

The transport layer: Transport layer protocols (UDP and TCP) and connection management;

The session layer: Token management and synchronization.

The presentation layer: Fundamentals of data compression, data security and encryption.

The application layer: Client-Server model, Application level protocols for File transfer, Electronic mail, Network management, Hypertext transfer and World Wide Web.

Method of Teaching and Learning:

Lectures, Tutorials  and Assignments 

Assessment:
End-of-course written examination and other assessments announced at the beginning of the course unit.

Recommended Reading:

  1. Stallings, W. (2013). Data and computer communications. 10th Pearson.
  2. Forouzan B. A. (2012). Data Communications and Networking. 5th McGraw Hill.
  3. Tanenbaum A.S., Wetheral David J. (2010). Computer Networks. 5th Prentice-Hall International.
  4. Kurose, J. F., Ross, K. W. (2016). Computer networking: a top-down approach. 7th Pearson.
  5. Stallings, W., Case, T. (2012). Business Data Communications- Infrastructure, Networking and Security. 7th Edition. Pearson.
COST 12043 - Database Management Systems

Course Code

: COST 12043

Title

: Database Management Systems

Pre-Requisites

COSC 11012

Co-Requisites 

: COST 11012, COST 11023

Learning Outcomes:
At the completion of this course student will be able to:

  • describe various logical database architectures
  • design & develop databases using relational model and manipulate data
  • use databases in software solutions
  • apply theories behind various database models and query languages in practical scenarios
  • discuss security and integrity policies relating to databases.

Course Content:
Introduction to database systems: Database system concepts and architecture, Three tire architecture and mapping; Data Modelling: Entity-Relationship (ER) model and Enhanced Entity-Relationship (EER) model; Relational model: Introduction to the relational model, Relational constraints, Normalization approach for relational database design (first, second, third and BCNF normal forms), Advantages and disadvantages of the normalization approach; Logical database design: ER to relational mapping and EER to relational mapping; Relational algebra and relational calculus; Structured Query Language (SQL); Security and integrity in databases; new trends in databases.

Method of Teaching and Learning:
Lectures, Tutorials, Assignments and Practical 

Assessment:
End-of-course written examination, practical examination and other assessments announced at the beginning of the course unit.

Recommended Reading:

  1. Ricardo, C. M., Urban, S. D. (2015). Databases Illuminated. 3rd Jones & Bartlett Publishers.
  2. Elmasri, R., Navathe S.B. (2017). Fundamentals of database systems. 7th Pearson Education India.
  3. Ramakrishnan, R., Gehrke, J. (2002). Database management systems. 3rd McGraw Hill.
  4. Coronel, C., Morris, C. (2018). Database Systems: Design, Implementation and Management. 13th Edition Cengage Learning.
  5. Hoffer, J.A, Venkataraman, R., H., (2019), Modern Database Management, 13th Edition Pearson.
  6. Harrison, G. (2015). Next Generation Databases: NoSQL and Big Data. Apress.
  7. Date, C. J. (2003).  An Introduction to Database Systems. 8th Edition. Pearson.
Level 02
COST 21053 - Object Oriented Programming

Course Code

: COST 21053

Title

: Object Oriented Programming

Pre-Requisites

: COST 11023, COST 12043

Co-Requisites 

: None 

Learning Outcomes:
At the completion of this course student will be able to:

  • apply design and development principles in the construction of software systems of varying complexity
  • develop the structures to represent objects and the algorithms to perform operations
  • explain and utilize object-oriented concepts
  • use an industry-leading Integrated Development Environment (IDE) to develop and manage software projects.

Course Content:
Background and motivation of Object Oriented Methods; Concepts of Object-Oriented project management issues; Principles and features of an industry standard Object-Oriented Programming Language (OOPL) (e.g.: Java/C++).

Basic OOPL features: Class and object models, object declaration and creation, instantiable classes, visibility modifiers, arrays of objects, self-referencing pointers, re-use of code, static methods, arithmetic expressions, variables, scope, Event-Driven input and output, file objects and looping statements, primitive and reference types, strings, use of string buffer, passing objects as parameters, exceptions;

Advanced OOPL features: Overloading, data abstraction, encapsulation, inheritance, polymorphism, file processing, templates, exceptions and container classes.

Method of Teaching and Learning:
Lectures, Tutorials, Assignments and Practical 

Assessment:
End-of-course written examination, practical examination and other assessments announced at the beginning of the course unit.

Recommended Reading:

  1. Wu, T. (2009). An Introduction to Object-Oriented Programming with Java. 5th McGraw Hill.
  2. Savitch, W. (2017). Problem Solving with C++. 10th Pearson.
  3. Liang, Y. D. (2017). Introduction to Java Programming and Data Structures, Comprehensive Version. 11th Pearson.
  4. Dale, N. B., Weems, C. (2004). Programming in C++. 3rd Jones & Bartlett Learning.
  5. Gamma, E. (1995). Design patterns: elements of reusable object-oriented software. Pearson Education, India.
COST 21063 - Systems Analysis and Design

Course Code

: COST 21063

Title

: Systems Analysis and Design

Pre-Requisites

: COST 11012

Co-Requisites 

COST 21053

Learning Outcomes:
At the completion of this course student will be able to:

  • discuss the evolution of system analysis and deign
  • identify the stages and activities carried out in the system development life cycle
  • discuss the different system development models and methodologies
  • explain the different tools and techniques for systems analysis and design
  • use appropriate methods and techniques to analyze an existing system
  • identify the requirements and prepare a system requirement specification
  • use appropriate modelling techniques to design a proposed system.

Course Content:
Concept of systems, classification of systems, evolution of system analysis and design, system development life cycle, system development models, system development methodologies, Structured System Analysis and Design (SSADM), Business Activity Modelling, Data Flow Modelling (DFM), Logical Data Modeling (LDM), Business System Options (BSOs), Technical System Options (TSOs), architectural design, program specification, user interface design, database design, software testing, implementation strategies, support and maintenance, Computer Aided Software Engineering (CASE).

Method of Teaching and Learning:
Lectures, Tutorials and Assignments 

Assessment:
End-of-course written examination and other assessments announced at the beginning of the course unit.

Recommended Reading:

  1. Sommerville, I. (2015). Software engineering. 10th Edition. Pearson.
  2. Weaver, N. Lambrou and M. Walkley (2002). Practical Business Systems Development Using SSADM. 3rd Edition. Financial Times/Prentice Hall.
  3. A. Valacich, J. George and J. A. Hoffer (2014). Essentials of Systems Analysis and Design. 6th Edition. Pearson.
  4. R. Pressman and B. Maxim (2014). Software Engineering: A Practitioner's Approach. 8th Edition McGraw-Hill.
COST 22073 / COST 22113+ - Web Development

Course Code

: COST 22073 / COST 22113+ 

Title

: Web Development 

Pre-Requisites

: COST 21053

Co-Requisites 

None 

Learning Outcomes:
At the completion of this course student will be able to:

  • recognize basic concepts of the internet and world wide web
  • use client-side technologies for building, usable, accessible, standard compliant web pages
  • use server-side technologies for building secure database driven web applications
  • describe and critically discuss the design, engineering, legal, social, ethical and professional issues and considerations involved in web application development.

Course Content:
Overview of the Internet; Web technologies: Standard client side technologies including HTML/ XHTML, CSS, JavaScript and related libraries, DOM, cookies. Web servers and server-side technologies including Apache, PHP, session state and database connectivity using MySQL; Issues and considerations in web application development: standards, maintenance, efficiency, stability, usability, accessibility, law, security and privacy, emerging trends and best practices.

Method of Teaching and Learning:
Lectures, Tutorials, Assignments and Practical 

Assessment:
End-of-course written examination, practical examination and other assessments announced at the beginning of the course unit.

Recommended Reading:

  1. Connolly, R., Hoar, R. (2015). Fundamentals of Web Development. 2nd Pearson.
  2. Deitel, P. J., Deitel, H. M., Deitel, A. (2011). Internet & World Wide Web How to Program. 5th Pearson.
  3. Welling, L., Thomson, L. (2016). PHP and MySQL Web Development. 5th Addison-Wesley.
  4. Jackson, J. C. (2006). Web Technologies: A Computer Science Perspective. Prentice Hall.
  5. Scobet P., Lingras, P. (2016). Web Programming and Internet Technologies: An E-Commerce Approach. 2nd Edition. Jones & Bartlett Learning.
COST 22073 / COST 22113+ - Web Development

Course Code

: COST 22073 / COST 22113+ 

Title

: Web Development 

Pre-Requisites

: COST 21053

Co-Requisites 

None 

Learning Outcomes:
At the completion of this course student will be able to:

  • recognize basic concepts of the internet and world wide web
  • use client-side technologies for building, usable, accessible, standard compliant web pages
  • use server-side technologies for building secure database driven web applications
  • describe and critically discuss the design, engineering, legal, social, ethical and professional issues and considerations involved in web application development.

Course Content:
Overview of the Internet; Web technologies: Standard client side technologies including HTML/ XHTML, CSS, JavaScript and related libraries, DOM, cookies. Web servers and server-side technologies including Apache, PHP, session state and database connectivity using MySQL; Issues and considerations in web application development: standards, maintenance, efficiency, stability, usability, accessibility, law, security and privacy, emerging trends and best practices.

Method of Teaching and Learning:
Lectures, Tutorials, Assignments and Practical 

Assessment:
End-of-course written examination, practical examination and other assessments announced at the beginning of the course unit.

Recommended Reading:

  1. Connolly, R., Hoar, R. (2015). Fundamentals of Web Development. 2nd Pearson.
  2. Deitel, P. J., Deitel, H. M., Deitel, A. (2011). Internet & World Wide Web How to Program. 5th Pearson.
  3. Welling, L., Thomson, L. (2016). PHP and MySQL Web Development. 5th Addison-Wesley.
  4. Jackson, J. C. (2006). Web Technologies: A Computer Science Perspective. Prentice Hall.
  5. Scobet P., Lingras, P. (2016). Web Programming and Internet Technologies: An E-Commerce Approach. 2nd Edition. Jones & Bartlett Learning.
COST 22082 / COST 22122+ - Information Systems

Course Code

: COST 22082 / COST 22122+

Title

: Information Systems

Pre-Requisites

: COST 21063

Co-Requisites 

: None

Learning Outcomes:
At the completion of this course student will be able to:

  • describe various types of information systems and their components
  • describe the key infrastructure components of contemporary information systems
  • explain how computer-based information systems enable organizations to become competitive
  • explain the major sources of information security risks and potential techniques to mitigate them
  • evaluate emerging technologies in terms of their potential to create effective information systems
  • appraise privacy concerns of information system stakeholders
  • apply the ethical practices in using and managing information systems.

Course Content:
Introduction to Information System (IS): Purpose of IS, Data Resource Management, Planning IS, IS Management, IS infrastructure, digital business transformation; Types of information systems – TPS, MIS, DSS, ESS; Enterprise-wide information systems – ERP, SCM, CRM; The internet and information systems; Emerging technologies – artificial intelligence, cloud computing, big data analytics, internet of things, mobile computing technologies, blockchains; E-business systems and architectures; Knowledge discovery and predictive modeling; Information systems security; Ethical and privacy concerns.

Method of Teaching and Learning:
Lectures, Tutorials and Assignments 

Assessment:
End-of-course written examination and other assessments announced at the beginning of the course unit.

Recommended Reading:

  1. Laudon, K., Laudon, J. (2019). Management Information Systems: Managing the Digital Firm. 16th Pearson. 2019.
  2. Siebel, T. M. (2019). Digital Transformation: Survive and Thrive in an Era of Mass Extinction. 1st Rosetta Books.
  3. Stephen, H., Maeve., Cummings. (2012). Management Information Systems for the Information Age. 9th McGraw-Hill Irwin.
  4. Oz, E. (2008). Management Information Systems. 6th Edition. Course Technology.
COST 21073+ - Foundations of Mathematics

Course Code

: COST 21073+ 

Title

: Foundations of Mathematics  

Pre-Requisites

: GCE (A/L)

Co-Requisites 

None

Learning Outcomes:
At the completion of this course student will be able to:

  • demonstrate understanding of concepts in discrete mathematics
  • employ methods related to the discrete mathematics concepts in variety of applications
  • apply logical thinking to solve basic problems in mathematics.

Course Content:
Number systems, Coordinate Systems (2D and 3D), Vector algebra, Mathematical Logic (Propositional and Predicate Logic), Boolean Algebra, Methods of Proofs (direct proof, proof by contradiction, contrapositive, proof by induction and counter example methods), Set Theory, Relations, Functions (linear, quadratic, trigonometric, exponential, log (base 2, 10 and e), fractional), Quadratic Equations and Partial fractions.

Method of Teaching and Learning:
Lectures, Tutorials and Assignments 

Assessment:
End-of-course written examination and other assessments announced at the beginning of the course unit.

Recommended Reading:

  1. Johnsonbaugh, R. (2019). Discrete Mathematics. 8th Pearson.
  2. Kenneth, H. R. (2019). Discrete Mathematics and its Applications. 8th McGrawHill Education.
  3. Susanna, S (2020). Discrete Mathematics with Applications. 5th Cengage.
  4. Gary, C., Ping, Z. (2011). Discrete Mathematics. Waveland Press.
  5. Spiegel, R., Lipschutz, S., Spellman, D. (2009). Vector Analysis. 2nd Edition. McGraw-Hill.
COST 21082+ - Interpersonal Communication

Course Code

: COST 21082+

Title

: Interpersonal Communication  

Pre-Requisites

: None

Co-Requisites 

None

Learning Outcomes:
At the completion of this course student will be able to:

  • explain the communication process and improve effectiveness as a communicator
  • apply effective interpersonal communication skills in real life situations
  • identify the importance of listening and prepare technical documents depending on the target audience
  • write summaries/concise articles from a given set of resources.

Course Content:
Elements of communication: People, messages, channels, noise, context, feedback, Effect; Models of communication: Principles/Functions of Communication, Need of interpersonal communication; Improving effectiveness as a communicator; Improving verbal communication;  Principles of nonverbal communication; Aspects of nonverbal communication: Body language, Clothing and artifacts, Space and distance, Colors, Time, Touch; Assessing effectiveness as a nonverbal communicator: Difference between hearing and listening, The importance of Listening, Types of listening, The role of critical thinking; Feedback: Types of feedback; Relationships: The Role of relationships, Dimensions of relationships, Development of relationships, Emotions and relationships, Conflicts and Relationships, Expressing Feelings Effectively in Relationships; Communicating in small groups: The role of the group in problem solving, Group Networks, Memberships and Leadership, Handling Group conflicts; Communicating to the public: Considering the Audience, Occasion and subject; Speaking: Developing designing and delivering Speech, Informative speaking, Persuasive speaking; Characteristic of communication technology: The Accessibility of communication technology; Elements of effective writing: Writing technical and non-technical reports, Presenting reports, writing essays, critically evaluating a document, writing summaries.

Method of Teaching and Learning:
Lectures, Tutorials and Assignments 

Assessment:
Based on the final report and presentation

Recommended Reading:

  1. Adler, R. B., Rosenfeld, L. B., Proctor R. F. (2017). Interplay: The process of interpersonal communication. 14th Oxford University Press.
  2. West, R., & Turner, L. H., (2011). Understanding interpersonal communication. Enhanced 2nd Edition, Wadsworth.
  3. Wood, J.T. (2010). Interpersonal Communication Everyday Encounters. 7th Edition. Wadsworth.
  4. Hering, L. & Hering, H, (2010). How to write technical reports. Springer.
  5. Worthington, S. & Jefferson, (2011). Technical writing for successes. 3rd Edition. South-Western Cengage Learning.
  6. McLaren, S., (2004). Writing Essays and Reports. Pascal press.
COST 21093+ - Business Management for Information Technology

Course Code

: COST 21093+

Title

: Business Management for Information Technology  

Pre-Requisites

: COST 11012

Co-Requisites 

None

Learning Outcomes:
At the completion of this course student will be able to:

  • explain the basic business processes
  • identify the correlation between people and business
  • explain the applicability of management principles on organizations, people, and production
  • explain the business information systems and accounting procedures
  • apply the principles of marketing management in real world scenarios.

Course Content:
Contemporary Business and Its Environment: Foundations of business, Economic challenges, Global dimensions of business, Social responsibility and business ethics; Forms of business ownership; Entrepreneurship; Small business operations; Total quality management; Management Principles of the Organization, People, and Production: Management and the internal organization, Management and human resources, Teamwork and communication, Labor-management relations, Production and operations management;  Marketing Management: Marketing management and customer satisfaction, Product and pricing strategies, Distribution strategy, Promotion strategy; Information Systems and Accounting: Business information systems, Accounting procedures; Financing the Enterprise: Financial management principles, Operations of financial institutions, Securities markets.

Method of Teaching and Learning:
Lectures, Tutorials and Assignments 

Assessment:
End-of-course written examination and other assessments announced at the beginning of the course unit.

Recommended Reading:

  1. Magretta, J. and Stone, N. (2012). What Management Is - How it Works and Why It’s Everyone’s Business. The Free Press.
  2. Watson, T. J. (2006). Organising and managing work: organisational, managerial and strategic behaviour in theory and practice. 2nd Harlow, Pearson Longman.
  3. Draft, R. L. Management. 12th Western College Pub.
  4. Brickley, J.A., Smith, C.W., Zimmerman, J.L. (2004). Managerial Economics and Organizational Architecture. 3rd edition. McGraw-Hill: New York.
COST 21102+ - Digital Electronics

Course Code

: COST 21102+

Title

: Digital Electronics

Pre-Requisites

: COST 11012

Co-Requisites 

None

Learning Outcomes:
At the completion of this course student will be able to:

  • apply various techniques for digital logic fundamental and simplification
  • analyze and synthesize combinational and sequential logic circuits
  • examine the various logic gates and circuits in the laboratory and design, build and troubleshoot logic circuits.

Course Content:
Introduction to Digital Systems: Charge, current, voltage, power, resistance, Ohm’s law, DC circuits, finding currents and voltages in simple circuits, AC signals, phase and complex numbers, capacitors, inductors, transformers, impedance, AC circuits and AC circuit analysis, simple filters (high-pass, low-pass, band-pass);

Logic Gates and Boolean algebra: Logical Operators, Logic, Universal Gates and realization of other gates using universal gates, Rules and laws of Boolean algebra, Demorgan’s Theorems, Boolean Expressions and Truth Tables, Basic Concept IC Logic, Logic minimization using Karnaugh Map, Representation in SOP and POS forms; Combinational Circuits: Half-Adder and Full-Adder, Half and Full Subtractor, Parallel binary adder, serial adder, BCD adder, BCD subtractor, Parity generators/checkers, Multiplexer, Demultiplexer, Encoder, Priority Encoder, Decoder;  Sequential Circuits: Types of Flip Flops -RS, T, D, JK; Triggering of Flip Flops; Flip Flop conversions; Master-Salve JK.

Method of Teaching and Learning:
Lectures, Tutorials, Assignments and Practical

Assessment:
End-of-course written examination and other assessments announced at the beginning of the course unit.

Recommended Reading:

  1. Kleitz, W. (2011). Digital Electronics: A Practical Approach. 9th Pearson Prentice Hall.
  2. Stanley, W., Smith, R.F.M. (2019). Student Reference Manual for Electronic Instrumentation Laboratories. 2nd Edition. Pearson.
  3. Mano, M. M. (2018). Digital Design. 6th Edition. Pearson India.
  4. Floyd, T. (2014). Digital Fundamentals. 11th Edition. Pearson.
  5. Thomson, C. H. R. (2003). Fundamentals of Logic Design. 5th Edition. Thomson Learning.
COST 22133+ - Mathematical Techniques for Information Technology

Course Code

: COST 22133+

Title

: Mathematical Techniques for Information Technology

Pre-Requisites

: COST 21073

Co-Requisites 

None

Learning Outcomes:
At the completion of this course student will be able to:

  • demonstrate the fundamental theorem of calculus and use it for evaluating definite integrals and derivatives of integrals with variable limits of integration
  • employ methods related to the calculus and matrices concepts in different kinds of applications
  • apply logical thinking to solve problems in information technology
  • recognize vector spaces and subspaces.

Course Content:
Differentiation and Integration; Systems of linear equations; Matrices: Inverse of a non-singular square matrix, Determinant of a square matrix; Vector Spaces: Vector Spaces, Subspaces, Spanning sets and Linear Independence, Basis and dimension, Coordinates, Change of Basis and Transition matrix, Similarity, Dimensional Theorem.

Method of Teaching and Learning:
Lectures, Tutorials and Assignments

Assessment:
End-of-course written examination and other assessments announced at the beginning of the course unit.

Recommended Reading:

  1. Stewart, J. (2016). Calculus: Early Transcendentals. 8th Cengage Learning.
  2. McMullen, C. (2018). Essential Calculus Skills Practice Workbook with Full Solutions. Zishka Publishing.
  3. , Philip, N. (2013). Coding the Matrix: Linear Algebra through Computer Science Applications. 1st Edition. Newtonian Press.
  4. Graham, A. (2018). Matrix Theory & Applications for Scientists & Engineers. Dover Publications.
COST 22142+ - Introduction to Business Analysis

Course Code

: COST 22142+

Title

: Introduction to Business Analysis

Pre-Requisites

: COST 21093

Co-Requisites 

None

Learning Outcomes:
At the completion of this course student will be able to:

  • explain the role and competencies of a Business Analyst
  • identify the business process and evaluate options for improving the business
  • discuss how to categorize, analyze and manage stakeholders
  • infer requirements from a business case, assess feasibility, document, manage and validate
  • evaluate the solution provided for a given requirement and assess its limitations.

Course Content:
Business Analysis(BA): Overview, core concept model, key terms, business process, requirements classification schema, stakeholders, requirement and design; Business Analyst: skills and competences, analytical thinking and problem solving, behavioral characteristics, business knowledge, tools and technology; BA planning and monitoring: BA approach, stakeholder engagement, BA governance, BA information management, BA performance improvements, Requirements: elicitation, manage stakeholder collaboration, trace, maintain and prioritize requirements, assess and approve requirements and changes, specify and model requirements, verify and validate requirements, define design options, analyze potential value and recommended solution; strategy analysis: analyze current state, define future state, assess risks, define change strategy; Solution Evaluation: Measure solution performance, analyze performance measures, assess solution and enterprise limitations.

Method of Teaching and Learning:
Lectures, Tutorials and Assignments

Assessment:
End-of-course written examination and other assessments announced at the beginning of the course unit.

Recommended Reading:

  1. (2015). A Guide to the Business Analysis Body of Knowledge (BABOK Guide). 3rd Edition. International Institute of Business Analysis.
  2. Project Institute. (2015). Business analysis for practitioners: A practice guide. Project Management Institute.
  3. Leyton, R., Carkenord, B. (2015). The Agile Business Analyst: Moving from Waterfall to Agile. 1st Leyton Publishing.
  4. Girvan, L., Paul, D. (2017). Agile and Business Analysis: Practical guidance for IT professionals. BCS, The Chartered Institute for IT.
COST 22152+ - Introduction to Audio Engineering

Course Code

: COST 22152+

Title

: Introduction to Audio Engineering

Pre-Requisites

COST 21102

Co-Requisites 

None

Learning Outcomes:
At the completion of this course student will be able to:

  • explain how sound is digitally produced and recorded
  • define basic concepts of acoustic resonance
  • discuss application of acoustics in musical sounds
  • employ effects and mixing plugins effectively
  • demonstrate the operation and application of analog and digital audio recording devices.

Course Content:
Introduction Recording Connection (RC): Introduction to oscillations and sound waves, simple oscillating systems, sound pressure, sound waves, the speed of sound, wavelength, frequency and pitch, sound pressure level, loudness, making sound, properties of musical sound versus “noise”; Acoustic Resonance RC: Reflection and absorption of sound, resonances in air columns, resonances in enclosures and rooms, diffraction and diffusion of sound, reverberation, principles of designing a good music studio; Microphones: Placement, Selection, Stereo, Phase; dB Levels and Amps; Mixing Consoles; Analog Tape and Recorders; Digital Audio: Review, Dither, Word Clock; Working in Pro tools, navigating the interface; Recording audio; editing audio and adding effects; Musical Instrument Digital Interface (MIDI) controllers; Mixing; direct boxes; audio splitters; analog to digital converters.

Method of Teaching and Learning:
Lectures, Tutorials, Mini project and Assignments

Assessment:
End-of-course written examination and other assessments announced at the beginning of the course unit.

Recommended Reading:

  1. Huber, D. M., Runstein, R. E. (2013). Modern recording techniques. 8th CRC Press.
  2. Franz, D. (2007). Producing in the Home Studio with Pro Tools. 3rd Boston: Berklee Press.
  3. Self, D. (Ed.). (2010). Audio engineering explained. Taylor & Francis.
COST 22162+ - Computer Applications

Course Code

: COST 22162+

Title

: Computer Applications

Pre-Requisites

: COST 11012

Co-Requisites 

None

Learning Outcomes:
At the completion of this course student will be able to:

  • model objects that are required for different industry domains using a computer aided designing tool
  • produce a well-organized report using Latex
  • use MS office packages successfully in academic and research activities
  • practice different commands and scripting in the Linux environment
  • use pipes and filters in handling inputs, outputs and errors.

Course Content:
Introduce important Software Packages; Modelling with Computer aided design tools: 2D, 2.5D, and 3D design, 3D wireframe and Surface modelling and solid modelling; Latex: Introduction, Classes and Packages, Commands, compatibility and converters; MS Office Packages: MS Word, MS Power point, MS Excel, MS Project, MS Outlook; Introduction to Linux operating system: Architecture, shell, utilities and application programs, starting a Linux session, security, User logs, modifying screen; Linux Basics: file hierarchy structure, absolute and relative pathnames, types of files and users in Linux, Change the current directory and list its content, Create and remove a directory, Display the content of a file, Copy, rename, move, or remove a file, Determine and assign file access permissions; Text Editors: functions and types of editors, different commands, configure editors; Pipes and Filters: standard input, output, and error files, file inputs, redirect outputs or errors to disks, different filters, pipes; Shell scripting;

Method of Teaching and Learning:
Lectures, Tutorials,Assignments and Practical 

Assessment:
End-of-course practical examination and other assessments announced at the beginning of the course unit.

Recommended Reading:

  1. J., Frye. C. (2019). Microsoft Office 2019 Step by Step. 1st Edition. Microsoft Press.
  2. C., Chatfield. C., Johnson, T. (2019). Microsoft Project 2019 Step by Step. 1st Edition. Microsoft Press.
  3. LATEX3 Project Team. (2020). LATEX 2ε for Authors.
  4. C. R., Heather. S. (2017). Advanced AutoCAD 2018: Exercise Workbook (Volume 1). Industrial Press, Inc.
  5. Y., Pandey. J. (2020). Practical Autodesk AutoCAD 2021 and AutoCAD LT 2021: A no-nonsense, beginner's guide to drafting and 3D modeling with Autodesk AutoCAD. Illustrated Edition. Packt Publishing.
  6. R., Bresnahan. C. (2021). Linux Command Line and Shell Scripting Bible. 4th Edition. Wiley.\
  7. Vickler, A. (2021). Linux: This book includes: Linux for Beginners, Linux Command Lines and Shell Scripting, Linux Security and Administration.
Level 03
PRPL 31992 - Professional Placement

Course Code

: PRPL 31992

Title

: Professional Placement

Pre-Requisites

: All Level 1 and 2 course modules

Co-Requisites 

None

Learning Outcomes:
At the completion of this course student will be able to:

  • develop significant commitment in the students’ profession/specialization
  • integrate classroom theory with workplace practice
  • develop greater clarity about academic and career goals 
  • develop new or advanced skills.

Course Content:
The students will be placed in selected industries and institutions where they carryout computer science related work/research for a period of six weeks. The required resource materials will be supplied by the relevant institution/industry.

Method of Teaching and Learning:

Training under the supervision and guidance of a suitable trainer in the computing industry.

Assessment:

Evaluation of the progress report submitted by the trainer, and the student’s technical report.

Recommended Reading:

  1. Reading and reference material recommended by the industry supervisor and the course coordinator
COST 31093 / COST 31173+ - Event Driven Programming

Course Code

: COST 31093 / COST 31173+

Title

: Event Driven Programming

Pre-Requisites

: COST 22073

Co-Requisites 

None 

Learning Outcomes:
At the completion of this course student will be able to:

  • describe the properties, methods and events of reusable components
  • explain the use of object-oriented programming concepts in event-driven programming
  • choose appropriate events and develop highly interactive applications
  • use available classes and technologies to access database through graphical user interfaces
  • design and develop effective reports to visualize data
  • design and develop stand-alone and web-based software applications for real-world problems.

Course Content:
Integrated Development Environment (IDE); reusable components and their properties; Introduction to event-driven model; Event-driven programming: Basic control objects, Branching, Control loops, Procedures and functions, event detection and handling, stream-based file I/O, Arrays, Database programming, exception handling, execution, debugging, building, testing and publishing desktop and web applications; Graphical User Interface (GUI) design: Multiple Document Interface (MDI) applications, use of standard dialog boxes, input validation, design of reports and data visualization; Industry trends.

Method of Teaching and Learning:
Lectures, Tutorials, Assignments and Practical 

Assessment:
End-of-course written examination, practical examination and other assessments announced at the beginning of the course unit.

Recommended Reading:

  1. Deitel, P. J., Deitel, H. (2016). Visual C# How to Program. 6th Pearson.
  2. Sharp, J. (2018). Microsoft Visual C# Step by Step. 9th Microsoft Press.
  3. Gaddis, T. (2016). Starting out with Visual C#. 4th Pearson.
  4. Boehm, A., Mead, G. (2011). Murach's ADO.NET 4 Database Programming with C#. 4th Murach & Associates.
  5. Wiley India. (2013). Asp.Net 4.5, Covers C# and Vb Codes: Black Book. 1st Edition. Kogent Learning Solutions Inc.
COST 31102 / COST 31182+ - Social and Professional Issues in Computing

Course Code

: COST 31102 / COST 31182+

Title

: Social and Professional Issues in Computing

Pre-Requisites

: COST 21063

Co-Requisites 

None 

Learning Outcomes:
At the completion of this course student will be able to:

  • apply the underlying concepts of professionalism in computing
  • identify and explain relevant legal provisions in designing, implementing, and licensing information systems
  • describe social responsibilities of professionals in the field of computing
  • explain the impact of computing within economic, social, and cultural contexts.

Course Content:
Evolution of the Software Industry; Introduction to professional practice: profession and vocation, recognition of professionals, their duties, responsibilities and conduct; Social context of computing and Internet; IT culture and globalization; Economic impacts of the use of computers; Computers and Ethics: codes of ethics, conduct, and practice; Computer laws; Intellectual property rights: copyrights, patents, trademark, electronic signatures, software licensing issues, piracy; Work place issues; Security and access control; Privacy: personal information, data protection principles, General Data Protection Regulation(GDPR), privacy enhancing and invasive tools; Computer crimes: hacking, viruses, worms, ransomware, identity thefts; Free speech: internet governance, anonymity, public disclosure

Method of Teaching and Learning:
Lectures, Tutorials and Assignments 

Assessment:
End-of-course written examination and other assessments announced at the beginning of the course unit.

Recommended Reading:

  1. Baase, S., Henry, T. M. (2017). A Gift of Fire: Social, Legal, and Ethical Issues for Computing Technology. 5th Pearson.
  2. Ayres, R. (1998). The Essence of Professional Issues in Computing (The Essence of Computing Series). Prentice Hall.
  3. Adams, A. A., McCrindle, R. J. (2008). Pandora's Box: Social and Professional Issues of the Information Age. 1st Wiley.
  4. Parliament of the Democratic Socialist Republic of Sri Lanka: Computer Crime Act No: 24 of 2007.
  5. Parliament of the Democratic Socialist Republic of Sri Lanka: Electronic Transaction Act No: 19 of 2006.
  6. Parliament of the Democratic Socialist Republic of Sri Lanka: Intellectual Property Act No: 36 of 2003.
  7. Parliament of the Democratic Socialist Republic of Sri Lanka: Payment Device Fraud Act No: 30 of 2006.
  8. SLASSCOM. code of ethics: https://slasscom.lk/code-of-ethics/
COST 31112 / COST 31192+ - Human Computer Interaction

Course Code

: COST 31112 / COST 31192+

Title

: Human Computer Interaction

Pre-Requisites

: COST 22073, COST 22082

Co-Requisites 

: COST 31093

Learning Outcomes:
At the completion of this course student will be able to:

  • describe how interface design practices and methods can be integrated with user centered principles and methods now being employed
  • identify current trends in HCI research
  • discuss the nature of the HCI design process
  • apply an integrated perspective to the design process
  • recognize the difficulties and pitfalls of translating theory and principles derived from research findings into practical advice on user-centered design
  • apply metaphorical reasoning and conceptual models to user interface design
  • express strategies for improving web site usability
  • describe the major aspects of usability engineering
  • apply usability and design principles to the evaluation of current interfaces.

Course Content:
Fundamentals of HCI (theories, models, paradigms, usability studies and controlled experimentation); Interaction design basics; HCI in the software process: Design and implementation, Evaluation of user interfaces, universal design and user support; Current trends in HCI research; Ubiquitous and pervasive computing; Human factors that affect the development of software, and design of user interfaces for interactive systems.

Method of Teaching and Learning:
Lectures, Tutorials and Assignments 

Assessment:
End-of-course written examination and other assessments announced at the beginning of the course unit.

Recommended Reading:

  1. Sharp, H., Preece, J., Rogers, Y. (2019). Interaction Design: Beyond Human-Computer Interaction. 5th Wiley.
  2. Shneiderman, B., Plaisant, C., Cohen, M., Jacobs, S., Elmqvist, N. (2016). Designing the user interface: strategies for effective human-computer interaction. 6th Pearson.
  3. Dix, A., Finlay, J. E., Abowd, G. D., Beale, R. (2003). Human-Computer Interaction. 3rd Pearson.
  4. Platt, D. (2016). The Joy of UX: User Experience and interactive design for developers. 1st Edition. Addison-Wesley Professional.
COST 31122 / COST 31202+ - Software Project Management

Course Code

: COST 31122 / COST 31202+

Title

: Software Project Management

Pre-Requisites

: COST 22082

Co-Requisites 

: None

Learning Outcomes:
At the completion of this course student will be able to:

  • explain the software project management activities and process
  • model how a project can be broken down into stages and what each stage contributes to the project
  • identify techniques that allows successful management of projects throughout its lifecycle
  • plan software projects while assessing limitations, risks and quality of the project.

Course Content:
Project Management(PM) concepts: definitions, Project manager, PM activities, Project communication, Project integration management: project charter, project management plan, direct and manage work, project knowledge, monitor and control work, integrated change control, close project; Estimation and cost management: cost plan, estimation techniques, diagnosing estimated problems, determine budget; Project scheduling: scheduling techniques, Gantt chart, critical path method, automated tools; Project monitoring and controlling: project status reporting, project metrics, Earned Value Analysis(EVA); Reviews: inspections, deskchecks, walkthroughs; Risk Management; Configuration management; Resource Management: plan, acquire resources, develop team, manage team, control resources; Management and Leadership; Managing outsourced projects; Stakeholder management.

Method of Teaching and Learning:
Lectures, Tutorials and Assignments 

Assessment:
End-of-course written examination and other assessments announced at the beginning of the course unit.

Recommended Reading:

  1. Murray, A. (2016). The Complete Software Project Manager: Mastering Technology from Planning. Pan Macmillan India.
  2. Project management Institute. (2017). A guide to the project management body of knowledge (PMBOK guide). 6th Project Management Institute.
  3. Stellman, A., Greene, J. (2005). Applied Software Project management. 1st O’Reilly Media.
  4. Schwalbe, K. (2015). Information Technology Project Management. 8th Edition. Cengage Learning
COST 31133 - Mathematics for Information Technology

Course Code

: COST 31133

Title

: Mathematics for Information Technology

Pre-Requisites

: GCE (A/L)

Co-Requisites 

: None

Learning Outcomes:
At the completion of this course student will be able to:

  • demonstrate understanding of concepts in discrete mathematics
  • employ methods related to the discrete mathematics concepts in variety of applications
  • apply logical thinking to solve problems in information technology
  • recognize vector spaces and subspaces.

Course Content:
Number systems; Coordinate Systems; Fundamentals of Vector algebra; Mathematical Logic (Propositional and Predicate Logic); Boolean Algebra; Methods of Proofs; Set Theory; Relations and Functions; Differentiation and Integration; Systems of linear equations; Matrices: Inverse of a non-singular square matrix, Determinant of a square matrix; Vector Spaces: Vector Spaces, Subspaces, Spanning sets and Linear Independence, Basis and dimension, Coordinates, Change of Basis and Transition matrix, Similarity, Dimensional Theorem.

Method of Teaching and Learning:
Lectures, Tutorials and Assignments 

Assessment:
End-of-course written examination and other assessments announced at the beginning of the course unit.

Recommended Reading:

  1. Johnsonbaugh, R. (2019). Discrete Mathematics. 8th Pearson.
  2. Rosen, K. H. (2019). Discrete Mathematics and its Applications. 8th McGrawHill Education.
  3. Susanna, S. (2020). Discrete Mathematics with Applications. 5th Cengage.
  4. Spiegel, R., Lipschutz, S., Spellman, D. (2009). Vector Analysis. 2nd McGraw-Hill.
  5. Stewart, J. (2016). Calculus: Early Transcendentals. 8th Cengage Learning.
  6. McMullen, C. (2018). Essential Calculus Skills Practice Workbook with Full Solutions. Zishka Publishing.
  7. , Philip, N. (2013). Coding the Matrix: Linear Algebra through Computer Science Applications. 1st Edition. Newtonian Press.
  8. Graham, A. (2018). Matrix Theory & Applications for Scientists & Engineers. Dover Publications.
COST 32143 / COST 32213+ - Multimedia Technologies

Course Code

: COST 32143 / COST 32213+

Title

: Multimedia Technologies

Pre-Requisites

: None

Co-Requisites 

: None

Learning Outcomes:
At the completion of this course student will be able to:

  • use appropriate multimedia capturing, authoring and production tools
  • illustrate graphic media file format characteristics
  • discuss concepts of graphic file formats
  • discuss streaming media file format characteristics
  • develop a multimedia product including all multimedia elements.

Course Content:
Introduction to Multimedia: Multimedia and Hyper media, Components of multimedia, Multimedia authoring and tools, Stages of a multimedia project, requirements for multimedia projects; Graphics and Image Representation: Text, Images, Audio and Video representation, Image data types, Color lookup tables, File formats; Animation: principles of animation, animation techniques, animation file formats; Drawing: 3-D drawing, vector drawing and rendering; Color in Image and Video: Color science, Color models in images, Color models in video; Lighting: natural light, shading, illumination; Concepts in Video: Types of video signals, Analog video, Digital video, shooting and editing video, non-linear editing; Digital Audio: Digitization of sounds, Quantization and Transmission of audio, Musical Instrument Digital Interface (MIDI); Multimedia Data Compression: Lossless compression algorithms, Lossy compression algorithms, Text and Image compression, Image compression standards, Video compression techniques, Audio compression techniques, MPEG audio and video compression; Practical applications using a suitable multimedia authoring tool, copyright issues; Testing and evaluation of multimedia applications.

Method of Teaching and Learning:
Lectures, Tutorials and Assignments 

Assessment:
End-of-course written examination and other assessments announced at the beginning of the course unit.

Recommended Reading:

  1. Vaughan, T. (2011). Multimedia Making it Work. McGraw Hill.
  2. Li, Z. N., Drew, M. S. (2004). Fundamentals of Multimedia. Pearson.
  3. Timings, R., Wilkinson, S., Cope, N., Folley, D., Thomson, S. (2005). Multimedia Technology. Longman Pub Group.
COST 32152 / COST 32222+ - Mobile Application Development

Course Code

: COST 32152 / COST 32222+

Title

: Mobile Application Development

Pre-Requisites

: COST 21053

Co-Requisites 

None 

Learning Outcomes:
At the completion of this course student will be able to:

  • describe various mobile computing applications, technologies and wireless communication
  • explain common paradigms in mobile computing
  • develop mobile application using a selected development environment
  • construct different user interfaces and review user experiences
  • discuss current trends in mobile development.

Course Content:

Overview: Mobile Technologies, anatomy of a mobile device, survey of mobile devices, applications of mobile computing.

Application Design: Context, information architecture, design elements, mobile web vs native Applications.

Development Environments: Introduction to Android Studio and Xcode, The Model-View-Controller model, The Delegate Pattern, The iPhone and Android SDKs.

The User Experience: The small screen problem, the unified look and feel paradigm, common user interface guidelines.

The current trends and future of mobile development.

Method of Teaching and Learning:
Lectures, Tutorials, Assignments and Practical 

Assessment:
End-of-course written examination, practical examination and other assessments announced at the beginning of the course unit.

Recommended Reading:

  1. Pattanaik, P. K., Mall R. (2015). Fundamentals of Mobile Computing. 2nd PHI Learning.
  2. Sinha, K., Ghosh S. C., Sinha, B. P. (2016). Wireless Networks and Mobile Computing. 1st Chapman and Hall/CRC.
  3. Huang, D., Wu, H. (2017). Mobile Cloud Computing: Foundations and Service Models. 1st Morgan Kaufmann.
  4. Horton, J. (2018). Android Programming for Beginners: 2nd Packt Publishing.
  5. Clayton, C. (2018). iOS 12 Programming for Beginners. 3rd Edition. Packt Publishing.
COST 32162 / COST 32232+ - Software Quality Assurance

Course Code

: COST 32162 /COST 32232+

Title

: Software Quality Assurance

Pre-Requisites

: COST 22082

Co-Requisites 

: None

Learning Outcomes:
At the completion of this course student will be able to:

  • identify software quality concepts and software quality engineering approaches
  • apply appropriate testing strategies to develop test cases
  • differentiate software verification and validation
  • describe the processes of software quality management and software configuration management
  • use different testing techniques, methods, and tools.

Course Content:
Quality management: software quality, quality factors and dimensions, Verification and Validation; Quality Assurance(QA): elements of QA, QA task, QA reviews, goal and metrics, quality standards;

Software Testing strategies: white box testing, black box testing, levels of testing, integration testing, system testing, acceptance testing, types of testing; Test planning and estimation: risk elements, documentation, preventing cause of overrun, define entry exit criteria; Test case design: formal and informal test design specifications, write test cases, practice unit testing and test automation; Test monitoring and control; Test process improvements; Measuring and managing testing: defect reporting, categorizing, root cause analysis.

Method of Teaching and Learning:
Lectures, Tutorials and Assignments 

Assessment:
End-of-course written examination and other assessments announced at the beginning of the course unit.

Recommended Reading:

  1. Naik, K., Tripathy, P. (2011). Software Testing and Quality Assurance: Theory and Practice. Wiley.
  2. Iancu, L. (2019). QA Quality Assurance & Software Testing Fundamentals.
  3. Antonimuthu, R. (2013). Software Testing and QTP Automation. 1st Edition. CreateSpace Independent Publishing Platform.
  4. Myers, G. J., Sandler, C., Badgett, T. (2011). The Art of Software Testing. 3rd Edition. Wiley.
COST 32173 / COST 32243+ - Statistics for Information Technology

Course Code

: COST 32173 /COST 32243+

Title

: Statistics for Information Technology

Pre-Requisites

: GCE (A/L)

Co-Requisites 

: None

Learning Outcomes:
At the completion of this course student will be able to:

  • demonstrate the knowledge on fundamental concepts and theories of statistics for real world problem solving
  • analyze, create, and communicate arguments supported by quantitative evidence
  • apply basic analytic-mathematical operations to construct logical inferences from quantitative data
  • use statistical software packages to solve problems in statistics.

Course Content:
Introduction: Rationale for learning Statistics, How the Statistics serves the scientists, Basic terminology, Essence of Science, Types of measurement and Statistical approach; Variables and graphs: Discrete and continuous variables, Scientific notation, Functions, Graphs, Equations; Frequency distributions: Class intervals and boundaries, Rules for forming frequency distributions, Histograms and frequency polygons, frequency curves; Measures of central tendency; Measures of dispersion; Probability distributions: Binomial distribution, Poisson distribution and Normal distribution; Sampling distributions; Statistical decision theory: Statistical decisions, Statistical hypotheses, Tests of hypotheses and significance; Curve fitting: Straight line, Least-squares line, Nonlinear relationships, Regression; Correlation theory: Linear correlation, Measures of correlation, Standard error of estimate, Coefficient of correlation, Product-Moment Correlation; Analysis of variance: Expected values of the variations, Distributions of the variations; Introduction to the selected statistical package: Features of the package, using the package to solve problems in Statistics.

Method of Teaching and Learning:
Lectures, Tutorials, Assignments and Practical 

Assessment:
End-of-course written examination, practical examination  and other assessments announced at the beginning of the course unit.

Recommended Reading:

  1. Spiegel, R., Stephens, J. (2014). Schaum’s Outline of Statistics. 5th Mc Graw Hill.
  2. Sullivan III, M. (2017). Fundamentals of Statistics. 5th Pearson.
  3. Howell, D. C. (2017). Fundamental Statistics for the Behavioral Sciences. 9th Cengage Learning.
  4. Tokunaga, H. T. (2019). Fundamental Statistics for the Social and Behavioral Sciences. 2nd Edition. SAGE Publications.
COST 32182 / COST 32252+ - Industry-based Project

Course Code

: COST 32182 / COST 32252+

Title

: Industry-based Project

Pre-Requisites

: All the Level 01 and Level 02 courses, COST 31093

Co-Requisites 

: None

Learning Outcomes:
At the completion of this course student will be able to:

  • demonstrate the ability to do a project in an area of information technology
  • apply suitable theories, knowledge and skills to develop a software solution for an industry-based problem
  • demonstrate the ability to work and plan independently.

Course Content:
Implement a software solution as per the requirements provided by the industry and it should be related to any sub disciplines of information technology domain. The project should be conducted under the supervision of industry and academic personnel.

Method of Teaching and Learning:
A combination of self-study, presentations and reports

Assessment:
Basd on  Presentations/ Viva, Diary, Report and Industry Evaluation

Recommended Reading:
Reading list and material relevant for the selected project title.

Level 04
COST 44193 / COST 44263+ - Advanced Computer Networks

Course Code

: COST 44193 / COST 44263+

Title

: Advanced Computer Networks

Pre-Requisites

: COST 12032

Co-Requisites 

: None

Learning Outcomes:
At the completion of this course student will be able to:

  • analyze different computer networks in terms of their usage and applicability
  • assess different wireless networks and communication infrastructures
  • review basic cellular system, frequency reuse, channel assignment strategies, handoff strategies and interference
  • design simple wired or wireless network topologies, architectures, protocols and algorithms.

Course Content:

Introduction to computer networks; Advanced telecommunication services and developments: ISDN, Frame Relay Networks, ATM Networks, packet switching and X.25 Networks; LAN, MAN, WAN and Networking software; Channel Characterization, TCP/IP Stack, IP Addressing, IP Support Protocols; Routing: IPv6, OSPF, RIP, BGP, MPLS, Multicast (DVMRP, etc.); End to End Issues: TCP and Congestion Control and Quality of Service (QoS); Cellular system design fundamentals: spectrum allocation, basic cellular system, frequency reuse, channel assignment strategies, handoff strategies, interference and system capacity, improving coverage and capacity, cell splitting; Multiple access technique: introduction to multiple accesses, FDMA, TDMA, spread spectrum multiple access, SDMA, packet radio, capacity of cellular systems;Wireless LAN technology and Standards: Bluetooth, GSM, GPRS and 3G/4G/5G wireless systems. Wireless WAN communication in the infrastructure.

Method of Teaching and Learning:
Lectures, Tutorials and Assignments 

Assessment:
End-of-course written examination and other assessments announced at the beginning of the course unit.

Recommended Reading:

  1. Forouzan, B. A., Fegan, S. C. (2003). Local area networks. McGraw-Hill.
  2. Kurose, J. F., Ross, K. W. (2017). Computer networking: A top-down approach. 7th Pearson.
  3. Stallings, W. (2014). Data and computer communications. 10th Pearson.
  4. Tanenbaum, A. S., Wetherall, D. J. (2014). Computer networks. 5th Pearson.
  5. Garg, V. K., Wilkes, J. E. (1996). Wireless and personal communications systems. Prentice Hall.
  6. Stallings, W. (2005). Wireless communications and networking. 2nd Edition. Pearson.
COST 44203 / COST 44273+ - Advanced Databases

Course Code

: COST 44203 / COST 44273+

Title

: Advanced Databases

Pre-Requisites

: COST 12043

Co-Requisites 

: None

Learning Outcomes:
At the completion of this course student will be able to:

  • apply the principles of query optimization to a database schema
  • identify transaction processing
  • apply concurrency control techniques
  • describe different types of database failures
  • apply appropriate recovery techniques
  • formulate complex queries
  • develop stored procedures, functions and triggers
  • design queries against a distributed database management system
  • design queries against database designed with object-relational extensions
  • develop and query No-SQL databases.

Course Content:
Advanced Features of SQL: Relational algebra review and join commands, additional join operations, SELF join, FULL joins, Set-Theoretic operators, the HAVING clause, views; Stored Procedures/Functions and Triggers; Query Processing and Optimization: Stages in query processing, query processing algorithms, query plan execution, cost-based query optimization; Concurrency and Recovery: Transactions and the ACID property of transactions, serializability and the serializability theorem, two-phase locking, time ordering techniques, recovery techniques; Database System Architectures: Centralized and Client-Server systems, parallel databases, distributed databases, heterogeneous and homogeneous databases, distributed query processing; No-SQL Databases: Motivations for Not Just/No SQL (NoSQL) databases, variety of NoSQL databases, introduction to Key-Value databases, Key-Value database.

Method of Teaching and Learning:
Lectures, Tutorials, Assignments and Practical 

Assessment:
End-of-course written examination, practical examination and other assessments announced at the beginning of the course unit.

Recommended Reading:

  1. Elmasri, R., Navathe S.B. (2017). Fundamentals of database systems. 7th Pearson Education India.
  2. Silberschatz, A., Korth, H. F., Sudarshan, S. (2019). Database system concepts. 7th McGraw-Hill.
  3. Molinaro, A. (2005). SQL Cookbook: Query Solutions and Techniques for Database Developers. O'Reilly Media, Inc.
  4. Perkins, L., Redmond, E., Wilson, J. (2018). Seven databases in seven weeks: a guide to modern databases and the NoSQL movement. 2nd Pragmatic Bookshelf.
  5. Harrison, G. (2015). Next Generation Databases: NoSQL and Big Data. Apress.
  6. McLaughlin, M., Harper, J. (2014). Oracle Database 12c PL/SQL advanced programming techniques. McGraw-Hill Education Group.
COST 44213 / COST 44283+ - Cloud Computing

Course Code

: COST 44213 / COST 44283+

Title

: Cloud Computing

Pre-Requisites

: COST 12032

Co-Requisites 

: None

Learning Outcomes:
At the completion of this course student will be able to:

  • explain and use cloud computing environments
  • apply knowledge of standards in distributed computing, and the impact of standardization on application programs
  • practice the deployment of cloud computing applications
  • explain the cloudlet architecture.

Course Content:
Fundamentals of Cloud Computing; Concepts and Models; Cloud-enabling Technology; Cloud Security; Cloud Infrastructure Mechanisms; Cloud Management; Cloud deployment; Cloud Computing Architecture; Cloudlet architecture; Parallel programming in the cloud; Virtualization; Distributed storage systems; Cost Metrics and Pricing; Service Quality Metrics and Software License Agreements.

Method of Teaching and Learning:
Lectures, Tutorials, Assignments and Practical 

Assessment:
End-of-course written examination and other assessments announced at the beginning of the course unit.

Recommended Reading:

  1. Erl, T., Puttini, R., Mahmood, Z. (2013). Cloud Computing: Concepts, Technology & Architecture. Prentice Hall
  2. Rosenberg, J., Mateos, A. (2010). The Cloud at Your Service: The When, How, and Why of Enterprise Cloud Computing. Manning Publications Co.
  3. Rafaels, R. J. (2018). Cloud Computing: From Beginning to End. 2nd Edition. CreateSpace Independent Publishing Platform.
COST 44223 / COST 44293+ - Computer Architecture and Operating Systems

Course Code

: COST 44223 /COST 44293+

Title

: Computer Architecture and Operating Systems

Pre-Requisites

: COST 11012, COST 11023

Co-Requisites 

: None

Learning Outcomes:
At the completion of this course student will be able to:

  • explain how data and programs are represented in computers
  • compare and contrast different computer architectures
  • describe the functionality and working of the building blocks of computer systems
  • demonstrate an understanding of assemblers and programming in assembly language
  • explain the key roles played by an operating system
  • identify the major components of operating systems
  • describe the concepts, models and approaches involved in design of operating systems.

Course Content:
Computer Architecture: Data and program representation, Combinational and sequential circuits, different computer architectures, processor architectures, instruction set architecture, fetch-execute cycle, energy and cost, instruction pipelining, branch prediction, operand addressing, microcode, parallelism, hardware and software integration, assemblers, programming in assembly language, memory and storage, bus architectures, I/O architectures, architectural design constraints.

Operating Systems: roles of an operating system, different operating systems, multi-programming, time sharing, concurrency control, deadlocks and starvation, process management (processes models, processor scheduling), synchronization, memory management and file systems.

Method of Teaching and Learning:
Lectures, Tutorials and Assignments 

Assessment:
End-of-course written examination and other assessments announced at the beginning of the course unit.

Recommended Reading:

  1. Comer, D. E. (2004). Essentials of Computer Architecture. Pearson.
  2. Stallings, W. (2011). Computer Organization and Architecture: Designing for Performance. 10th Pearson.
  3. Hennessy, J. L., Patterson, D. A. (2011). Computer architecture: a quantitative approach. 5th Morgan Kaufmann.
  4. Stallings, W. (2014). Operating Systems: Internals and Design Principles. 8th Pearson.
  5. Silberschatz, A., Gagne, G., Galvin, P. B. (2018). Operating System Concepts. 10th Edition. Wiley.
COST 44233 / COST 44303+ - Data Structures and Algorithms

Course Code

: COST 44233 / COST 44303+

Title

: Data Structures and Algorithms

Pre-Requisites

: COST 21053

Co-Requisites 

: None

Learning Outcomes:
At the completion of this course student will be able to:

  • identify basic data structures and algorithms
  • implement basic data structures and algorithms using an Object-Oriented Programming language
  • demonstrate the ability to analyze, design, apply and use data structures and algorithms to solve practical problems and evaluate their solutions
  • use complexity analysis to compare algorithm performances.

Course Content:
Data structure concepts; Arrays; Simple linked lists; Different implementations of lists; Stacks and queues; Sets; Binary-trees; Balanced trees; Heaps; Priority queues; Dictionaries/maps; Graphs;

Introduction to complexity: Big or little O-notation;

Algorithms: Recursion and backtracking, Sorting and searching, hashing.

Method of Teaching and Learning:
Lectures, Tutorials, Assignments and Practical

Assessment:
End-of-course written examination, practical examination and other assessments announced at the beginning of the course unit.

Recommended Reading:

  1. Lewis, J., DePasquale, P., Chase, J. (2016). Java Foundations: Introduction to Program Design and Data Structures. 4th Pearson.
  2. Shaffer, C. A. (2011). Data Structures and Algorithm Analysis in Java. 3rd Dover Publications.
  3. Weiss, M. A. (2013). Data structures & algorithm analysis in C++. 4th Pearson Education.
  4. Lee, K. D., Hubbard, S. (2015). Data Structures and Algorithms with Python. Springer Publications.
  5. Weiss, M. A. (2011). Data structures and algorithm analysis in Java. 3rd Pearson.
  6. Carrano, F. M., Henry T. M. (2015). Data Structures and Abstractions with Java. 4th edition. Pearson.
COST 44243 / COST 44313+ - Information Security

Course Code

: COST 44243 / COST 44313+

Title

: Information Security

Pre-Requisites

: COST 22082

Co-Requisites 

: None

Learning Outcomes:
At the completion of this course student will be able to:

  • identify the concepts and elements that define information security
  • explain the legal, social, and political frameworks that affect information security
  • recognize challenges in achieving information security
  • assess social, legal, political, and economic impediments to information security
  • examine approaches to maintain a reasonable state of information security and to address breaches effectively, ethically, and according to law.

Course Content:
Introduction to Information security: Ethics and Legal Issues, Responsibilities of Knowledge and Power, Ethical Disclosure, Surveillance vs Attack; Classes of Attack: Code injection, Time-of-check-to-time-of-use race conditions, Sybil attack; Systems Security: Authentication, Policy, Secure design principles (Saltzer and Schroeder), Information flow; Network Security: Web: SQL command injection, phishing, and cross-site scripting (XSS), No trusted external party, Network reconnaissance and information theory, Botnets; Data Hiding: Cryptography, Obfuscation and diversity methods, Differential Privacy (Dwork), Anonymity; Intrusion Detection and Response: Anomaly (network and host), Specification based (network and host), Viruses, Worms, Denial of Service. Human Factors: Captcha’s, Social engineering, Economics of Security,Incentives and motivations for attack.

Method of Teaching and Learning:
Lectures, Tutorials and  Assignments 

Assessment:
End-of-course written examination and other assessments announced at the beginning of the course unit.

Recommended Reading:
1. Stallings, W. (2018). Effective Cybersecurity: A Guide to Using Best Practices and Standards. 1st
    Edition. Addison-Wesley Professional.
2. Moschovitis, C. (2018). Cybersecurity Program Development for Business: The Essential Planning
    Guide. 1st Edition. John Wiley & Sons.
3. Holden, J. (2017). The Mathematics of Secrets: Cryptography from Caesar Ciphers to Digital
    Encryption. Princeton University Press.
4. Stallings, W. (2017). Cryptography and network security: Principles and practice. 7th Edition. Pearson.

COST 44252 / COST 44322+ - Object Oriented Analysis and Design

Course Code

: COST 44252 / COST 44322+

Title

: Object Oriented Analysis and Design

Pre-Requisites

: COST 21053

Co-Requisites 

None

Learning Outcomes:
At the completion of this course student will be able to:
  • design and implement projects using Object Oriented concepts
  • model real-world scenarios using UML diagrams
  • apply appropriate software design patterns effectively in large-scale software development
  • generate code from design using an appropriate software tool
  • compare and contrast various testing techniques.

Course Content:
UML Diagrams: Introduction to OOAD, Unified Process, UML diagrams, use case, class diagrams, interaction diagrams, state diagrams, sequence diagrams, activity diagrams, package diagrams, component and deployment diagrams, relationship between different diagrams, logical architecture and its refinements; General Responsibility Assignment Software Patterns (GRASP): Designing objects with responsibilities, creator, information expert, low coupling, high cohesion, controller, polymorphism; Coding and Testing.

Method of Teaching and Learning:
Lectures, Tutorials and Assignments

Assessment:
End-of-course written examination and other assessments announced at the beginning of the course unit.

Recommended Reading :

  1. Larman, C. (2004). Applying UML and patterns: an introduction to object oriented analysis and design and iterative development. 3rd Prentice Hall.
  2. Bennett, S., Farmer, R. (2010). Object-oriented systems analysis and design using UML. 4th McGraw-Hill.
  3. Gamma, E., Helm, R., Johnson, R., Vlissides, J. (1994). Design Patterns: Elements of Reusable Object-Oriented Software. 1st Addison-Wesley.
  4. Fowler, M. (2004). UML distilled: a brief guide to the standard object modeling language. 3rd Addison-Wesley Professional.
  5. Jorgensen, P. C. (2013). Software testing: a craftsman's approach. 4th Edition. Auerbach Publications.
COST 44262 / COST 44332+ - Research Methodologies

Course Code

: COST 44262 / COST 44332+ 

Title

: Research Methodologies

Pre-Requisites

: COST 22082, COST 32173

Co-Requisites 

None

Learning Outcomes:
At the completion of this course student will be able to:
  • demonstrate knowledge of qualitative and quantitative research methods
  • explain the ethical considerations in research projects
  • formulate a scientific problem and evaluate relevant information for a scientific problem
  • analyse results with appropriate statistical methods and present results in a scientific manner
  • demonstrate understanding of the opportunities and limitations of science and its role in society and the responsibility for how it is used.

Course Content:
Information gathering; Formulation of aims for a research project; Formulation of scientific problems and hypotheses; Selection of methods for solving a scientific problem; Qualitative and quantitative research methods; Statistical analysis; Research Ethics.

Method of Teaching and Learning:
Lectures, Tutorials and Assignments

Assessment:
Final report/viva and other assessments announced at the beginning of the course unit.

Recommended Reading :

  1. Oates, B. J. (2005). Researching information systems and computing. Sage.
  2. Zobel, J. (2015). Writing for computer science. 3rd Edition. Springer.
COST 44272 / COST 44342+ - System Administration

Course Code

: COST 44272 / COST 44342+

Title

: System Administration

Pre-Requisites

: COST 12032

Co-Requisites 

: None

Learning Outcomes:
At the completion of this course student will be able to:

  • describe the structural components of the Unix/Linux and Windows environments
  • carryout installation and configuration of workstations, servers, software and network devices
  • prepare system backup and apply recovery techniques as necessarily
  • create and manage user accounts and groups
  • assess and optimize system/network performance and security.

Course Content:
An overview of the Unix/Linux and Windows OS/servers; Virtual Machine Environment; System startup and shutdown; Server deployments; Installation and configuration network devices and operating systems; Package managers and software installation; Bash Shell/vim editor;  Administrator responsibilities and getting help; User/group authentication management; System configuration and management; Period tasks automation; Network file systems and data/system backup techniques; Emergency Recovery; System/Network Monitoring and performance analysis techniques; System/Network security.

Method of Teaching and Learning:
Lectures, Assignments and Practical

Assessment:
Based on the  assessments announced at the beginning of the course unit.

Recommended Reading:

  1. Limoncelli, T., Hogan, C. J., Chalup, S. R. (2007). The practice of system and network administration. 2nd Pearson Education.
  2. Nemeth, E., Snyder, G., Hein, T. R., Adelstein, T., Lubanovic, B., Limoncelli, T. (2018). UNIX and Linux system administration handbook. USENIX Open Access Policy, 59.
  3. Soyinka, W. (2016). Linux Administration: A Beginner’s Guide. 7th McGraw-Hill.
  4. Mark, B. (2004). Principles of Network and System Administration/Mark Burgess. 2nd Edition. John Wiley & Sons, Ltd.

 

COST 44283 / COST 44353+ - Applied Robotics

Course Code

: COST 44283 / COST 44353+

Title

: Applied Robotics

Pre-Requisites

: COST 11023

Co-Requisites 

None

Learning Outcomes:
At the completion of this course student will be able to:
  • discuss the key features of robots and their significance in the industrial processes
  • explain and use methods for modelling and analysis of kinematics of robots
  • design and build a robot system for a given requirement specification.

Course Content:
Introduction to robotics: The Engineering Design Process, Best practices in engineering design, Robot components, Robot workspace; Robotic related topics: Micro controllers, Sensors and actuators, Manipulators, Gears and other mechanical systems; Introduction to robot mechanics: Power and torque, Acceleration and velocity, Design models for ground mobile robots, Design models for mechanic arms and lifting systems; Kinematics: manipulation forward kinematics, manipulation inverse kinematics; Advanced topics on robotics: Sensing distance and direction, Line Following Algorithms, Feedback System, Use of computer vision in robotics.

Method of Teaching and Learning:
Lectures, Tutorial, Assignments and Practical 

Assessment:
End-of-course written examination and other assessments announced at the beginning of the course unit.

Recommended Reading :

  1. Craig, J. (2017). Introduction to Robotics: Mechanics & Control. 4th Pearson.
  2. Corke, P. (2011). Robotics, Vision and Control. Springer.
  3. Siegwart, R., Nourbakhsh, I. R., Scaramuzza, D. (2011). Introduction to Autonomous Mobile Robots. 2nd MIT Press.
  4. Siciliano, B., Khatib, O. (2017). Springer Handbook of Robotics. 2nd Springer.
  5. Saha, S. K. (2014). Introduction to Robotics. Mc Graw Hill, India.
  6. Jazar, R. N. (2010). Theory of Applied Robotics Kinematics, Dynamics and control. Springer.
COST 44293 / COST 44363+ - Blockchain and Cryptocurrency

Course Code

: COST 44293 / COST 44363+

Title

: Blockchain and Cryptocurrency

Pre-Requisites

: COST 12032, COST 44243

Co-Requisites 

None

Learning Outcomes:
At the completion of this course student will be able to:
  • explain the essential features of blockchain
  • identify scenarios and implementation of appropriate design considerations for a distributed ledger
  • use smart contracts in terms of their design and communication between the different entities
  • acquire a good understanding of different protocols and technologies used in cryptography
  • demonstrate an understanding of the process involved within mining and trading of cryptocurrencies
  • use of different interfaces to interact with cryptocurrencies
  • describe the proper use of wallets and hardware wallets

Course Content:
Introduction to Blockchain: Transactions, Blocks, Hashes; Public and Private blockchain; Distributed ledger; Consensus verification: Byzantine generals problem, Proof Of Work (POW), Proof Of Stake (POS), Delegated POS (DPOS); Smart Contracts; Future and the application of the blockchain;

Introduction to Cryptocurrencies; Bitcoin History; Bitcoin; Ethereum; Initial Coin Offerings (ICOs); Bitcoin Mechanics and Optimizations: A Technical Overview; Bitcoin in real life: Wallets, mining; Game Theory and Network Attacks: How to Destroy Bitcoin; Future of the cryptocurrencies.

Method of Teaching and Learning:
Lectures, Tutorial and  Assignments

Assessment:
End-of-course written examination and other assessments announced at the beginning of the course unit.

Recommended Reading :

  1. Narayanan, A., Bonneau, J., Felten, E., Miller, A., Goldfeder, S. (2016). Bitcoin and Cryptocurrency Technologies: A Comprehensive Introduction. Princeton University Press.
  2. Antonopoulos, A. (2017). Mastering Bitcoin. 2nd Edition. O’Reilly Media.
  3. Werbach, K. (2018). The Blockchain and the New Architecture of Trust. The MIT Press.
  4. Bashir, I. (2020). Mastering Blockchain: A deep dive into distributed ledger, consensus protocols, smart contracts, DApps, cryptocurrencies, Ethereum, and more. 3rd Packt Publishing.
  5. Lewis, A. (2018). The Basics of Bitcoins and Blockchains: An Introduction to Cryptocurrencies and the Technology that Powers Them. Mango Media.
COST 44303 / COST 44373+ - Business Intelligence

Course Code

: COST 44303 / COST 44373+

Title

: Business Intelligence

Pre-Requisites

: COST 11023, COST 32173

Co-Requisites 

None

Learning Outcomes:
At the completion of this course student will be able to:
  • evaluate the issues involved in sourcing, preparing and making available data for analysis
  • identify and discuss appropriate strategies for modelling and analyzing business data
  • apply relevant data mining tools and techniques to solve complex business problems
  • evaluate data mining approaches in the context of business data
  • discuss and demonstrate the finding of an analysis for stakeholders.

Course Content:
Business Intelligence Overview; Introduction to Data Mining; Classification Methods: kNN, SVM and Decision Trees; Regression: Neural Networks; Clustering: k-Means and Hierarchical; Association Rule Analysis; Data Visualization; Data Warehousing and OLAP; Text Mining; Introduction to Big Data Analytics

Method of Teaching and Learning:
Lectures, Tutorial, Assignments and Practical 

Assessment:
End-of-course written examination and other assessments announced at the beginning of the course unit.

Recommended Reading :

  1. Sharda, R., Delen, D., Turban, E. (2016). Business intelligence, analytics, and data science: a managerial perspective. Pearson.
  2. Efraim, T. (2011). Decision support and business intelligence systems. Pearson Education India.
  3. Sherman, R. (2014). Business intelligence guidebook: From data integration to analytics. Newnes.
  4. Aggarwal, C. C. (2015). Data mining: the textbook. Springer.
  5. Shmueli, G., Bruce, P. C., Gedeck, P., Patel, N. R. (2019). Data mining for business analytics: concepts, techniques and applications in Python. John Wiley & Sons.
  6. Burkov, A. (2020). Machine learning engineering. True Positive Incorporated.
COST 44313 / COST 44383+ - Internet of Things

Course Code

: COST 44313 / COST 44383+

Title

: Internet of Things

Pre-Requisites

: COST 11023, COST 12032

Co-Requisites 

None

Learning Outcomes:
At the completion of this course student will be able to:
  • explain the applicability of Internet of Things (IoT) real world scenarios
  • identify architectural overview of IoT
  • assess design constraints in real world applications
  • explain the various IoT Protocols (Datalink, Network, Transport, Session, Service)
  • design and develop IoT based prototypes for a given case study

Course Content:
Introduction to IoT: Understanding IoT fundamentals, IoT Architecture and protocols, Various Platforms for IoT, Real time Examples of IoT, Overview of IoT components and IoT Communication Technologies, Challenges in IoT; Getting started with Raspberry Pi; Booting Up RPi- Operating System and Linux Commands; Working with RPi using Python and Sensing Data using Python; RPi with C language; Use Raspberry Pi for practical applications; IoT Protocols: Machine to Machine (M2M): vs. IoT; Communication Protocols; Cloud Platforms for IoT: Virtualization concepts and Cloud Architecture, Cloud services -- SaaS, PaaS, IaaS, Cloud providers & offerings, Study of IoT Cloud platforms, ThingSpeak API and MQTT; IoT platforms for system integration (AllJoyn, Google Thing, Apple HomeKit); IoT Open Issues and research challenges.

Method of Teaching and Learning:
Lectures, Tutorial, Assignments and Practical 

Assessment:
End-of-course written examination and other assessments announced at the beginning of the course unit.

Recommended Reading :

  1. Hwang, K., Dongarra, J., Fox, G. C. (2013). Distributed and cloud computing: from parallel processing to the internet of things. Morgan Kaufmann.
  2. Miller, M. (2015). The internet of things: How smart TVs, smart cars, smart homes, and smart cities are changing the world. Pearson Education.
  3. Holler, J., Tsiatsis, V., Mulligan, C., Karnouskos, S., Avesand, S., Boyle, D. (2014). From Machine-to-Machine to the Internet of Things: Introduction to a New Age of. Intelligence.
  4. Dow, C. (2018). Internet of things programming projects: build modern IoT solutions with the Raspberry Pi 3 and Python. Packt Publishing Ltd.
COST 44322 / COST 44392+ - Big Data Technologies

Course Code

: COST 44322 / COST 44392+

Title

: Big Data Technologies

Pre-Requisites

: COST 12032, COST 21053

Co-Requisites 

None

Learning Outcomes:
At the completion of this course student will be able to:
  • identify the impact of big data technology in the industry
  • describe MapReduce as a computation model and an execution framework
  • use the big data application development stack
  • compare different tools in the Hadoop stack fit in the big picture of big data analytics
  • design distributed machine learning algorithms
  • use cloud computing services (Amazon Web Services) to build your clusters and run large-scale data processing applications
  • identify and describe the data warehousing concepts and operations.

Course Content:

Introduction to Big Data: definition and taxonomy, Big data value for the enterprise, Setting up the demo environment, First steps with the Hadoop “ecosystem”.

The Hadoop ecosystem: Introduction to Hadoop, Hadoop components: MapReduce/Pig/Hive/HBase, loading data into Hadoop, Handling files in Hadoop, Getting data from Hadoop

Querying big data with Hive: Introduction to the SQL Language, From SQL to HiveQL, Using Hive to query Hadoop files.

Big Data & Machine Learning: Machine learning tools: Spark & SparkML, H2O, Azure ML.

Data Warehousing: Data Warehouse Introduction, SQL OLAP Extensions, An Algebraic OLAP Operator.

Object-Oriented and Object-Relational Databases: Object-Oriented Data Model, Object-Relational Database Systems.

Method of Teaching and Learning:
Lectures, Tutorial, Assignments and Practical 

Assessment:
End-of-course written examination, practical examination and other assessments announced at the beginning of the course unit.

Recommended Reading :

  1. White, T. (2015). Hadoop: The definitive guide. 4th O'Reilly Media, Inc.
  2. Mayer-Schönberger, V., Cukier, K. (2013). Big data: A revolution that will transform how we live, work, and think. Houghton Mifflin Harcourt.
  3. Marz, N., Warren, J. (2015). Big Data: Principles and best practices of scalable real-time data systems. New York; Manning Publications Co.
  4. Jukic, N., Vrbsky, S., Nestorov, S. (2020). Database systems: Introduction to databases and data warehouses. 2nd Edition. Prospect press.
COST 44332 / COST 44402+ - Business Process Analysis and Design

Course Code

: COST 44332 / COST 44402+

Title

: Business Process Analysis and Design

Pre-Requisites

: COST 22082

Co-Requisites 

None

Learning Outcomes:
At the completion of this course student will be able to:
  • discuss the technologies that are required to build an e-business infrastructure within an organization
  • evaluate security issues in business process modelling
  • describe the main elements of supply chain management
  • use ERP systems to support business operations, decision making, and communication.

Course Content:
Introduction to Business Processes; Introduction to Information Systems and Information; Use of IS to Improve Processes; Business Process Architectures; Business Process Modelling; E-commerce; E-environment, Security Issues; Supporting Processes with ERP Systems; Introduction to Enterprise Resource Planning (ERP); ERP and Related Technologies; ERP System Development Process and Modules Structures; ERP Perspectives: Finance, Manufacturing, Logistics, Purchasing/ Procurement, Marketing, Sales and Distribution, Inventory Management, Customer Relationship Management, Human Resource Management (Consultants, Employees, and Vendors), and supply chain management; Current Trends and Future Directions of Business Process Modelling.

Method of Teaching and Learning:
Lectures, Tutorial, and Assignments

Assessment:
End-of-course written examination and other assessments announced at the beginning of the course unit.

Recommended Reading :

  1. Motiwalla, L., Thompson, J. (2013). Enterprise Systems for Management. 2nd Pearson.
  2. Chaffey, D., Hemphill, T., Edmundson-Bird, D. (2019). Digital Business and E-Commerce Management. 7th Pearson.
  3. Monk, E., Wagner, B. (2014). Concepts in Enterprise Resource Planning. 4th CENGAGE INDIA.
  4. Larsson, T. (2016). Ecommerce Evolved: The Essential Playbook To Build, Grow & Scale A Successful Ecommerce Business. 1st Edition.
COST 44342 / COST 44412+ - Emerging Technologies in Information Technology

Course Code

: COST 44342 /COST 44412+ 

Title

: Emerging Technologies in Information Technology

Pre-Requisites

: All compulsory COST course units of level 3

Co-Requisites 

None

Learning Outcomes:
At the completion of this course student will be able to:
  • demonstrate the theoretical and practical knowledge on concepts learned on the selected emerging technologies.

Course Content:
Depends on the selected emerging technologies.

Method of Teaching and Learning:
Lectures, Tutorials, Assignments and Practical 

Assessment:
End-of-course written examination and other assessments announced at the beginning of the course unit.

Recommended Reading :
Reading list and material relevant for each selected topic to be provided at the beginning of the academic year by the lecturer.

COST 44352 / COST 44422+ - Games Design

Course Code

: COST 44352 / COST 44422+

Title

: Games Design

Pre-Requisites

: COST 31112

Co-Requisites 

None

Learning Outcomes:
At the completion of this course student will be able to:
  • describe theoretical foundation of game design
  • explain and practice the stages of game design process
  • describe and apply the agile production methods and prototyping in game designing
  • explain the importance of a game design framework: mechanics, dynamics and aesthetics (MDA)
  • recognize the players and player types in game design
  • formulate a theoretical game design to a specific brief, implementing effective game narrative, playtesting and balancing
  • analysis game designs constructively based on understanding of good game design principles
  • synthesize various game design concepts into a game design project.

Course Content:
Overview of a game; Atomic elements of games; Stages of game design process; Game design frameworks: MDA (mechanics, dynamics and aesthetics); Iteration and rapid prototyping for game design; Decision-making and flow theory in game design; Kinds of fun, Kinds of players; Game narrative and Storytelling; Games designing tools; Playable prototype design; Game criticism; Playtesting; Game designs evaluation in terms of game balance; Game designs analysis in terms of user interface design

Method of Teaching and Learning:
Lectures, Tutorials and Assignments

Assessment:
End-of-course written examination and other assessments announced at the beginning of the course unit.

Recommended Reading :

  1. Fullerton, T. (2018). Game Design Workshop: A Playcentric Approach to Creating Innovative Games. 4th A K Peters/CRC Press.
  2. Schell, J. (2014). The Art of Game Design: A book of lenses. 2nd AK Peters/CRC Press.
  3. Zubek, R. (2020). Elements of Game Design. The MIT Press.
  4. Koster, R. (2013). Theory of Fun for Game Design. 2nd Edition. O’Reilly Media.
COST 44364 / COST 44434+ - Industrial Training

Course Code

: COST 44364 / COST 44434+

Title

: Industrial Training

Pre-Requisites

: All compulsory COST  course units of level 1, 2 and 3

Co-Requisites 

None

Learning Outcomes:
At the completion of this course student will be able to:
  • relate concepts learned in the class to computing project in the industry
  • use and apply the theory, knowledge, skills and values acquired through their first, second and third years in areas related to their interests and learning needs
  • identify the issues in applying concepts and acquire skills in resolving these issues in working environment
  • demonstrate a range of work skills required for the industry
  • employ a range of soft skills in the industry setting
  • identify the networks developed to advance their career opportunities.

Course Content:
Major aspects to be covered are the main phases of system development, generic skills needed to work in an industrialized environment and understanding of expectations of an organization.
 
Method of Teaching and Learning:
Training under the supervision and guidance of a suitable trainer in a computing industry.

Assessment:
Basd on  Presentations/ Viva, Diary, Report and Industry Evaluation

Recommended Reading :
Reading and reference material recommended by the relevant industry.

COST 43378 / COST 43448+ - Research Project

Course Code

: COST 43378 / COST 43448+

Title

: Research Project

Pre-Requisites

: All the compulsory COST courses

Co-Requisites 

None

Learning Outcomes:
At the completion of this course student will be able to:
  • demonstrate the ability to research in an area of computer science
  • interpret and assess literature related to a current area of research
  • experiment with algorithms whose properties are not known in advance
  • demonstrate the ability to work and plan independently.

Course Content:
A study and/or an implementation of a computer system related to major sub disciplines of computer science domain under an assigned supervisor.

Method of Teaching and Learning:
A combination of self-study, seminars, presentations and a dissertation.

Assessment:
Based on Progress Reports / Presentations, Thesis and  Viva

Recommended Reading :
Reading list and material relevant for the selected research topic.

+ - Subjects offered only for Bachelor of Arts (Honours) Degree Program
© 2019 Department of Statistics & Computer Science, Faculty of Science, University of Kelaniya, Sri Lanka. All Rights Reserved.