PEO1. To ensure graduates will be proficient in utilizing the fundamental knowledge of basic sciences, mathematics and Information Technology for the applications relevant to various streams of Engineering and Technology.
PEO2. To enrich graduates with the core competencies necessary for applying knowledge of computers and telecommunications equipment to store, retrieve, transmit, manipulate and analyze data in the context of business enterprise.
PEO3. To enable graduates to think logically, pursue lifelong learning and will have the capacity to understand technical issues related to computing systems and to design optimal solutions.
PEO4. To enable graduates to develop hardware and software systems by understanding the importance of social, business and environmental needs in the human context.
PEO5. To enable graduates to gain employment in organizations and establish themselves as professionals by applying their technical skills to solve real world problems and meet the diversified needs of industry, academia and research.
PROGRAMME OUTCOMES:
ENGINEERING GRADUATES WILL BE ABLE TO:
PO1. Engineering knowledge: Apply the knowledge of mathematics, science, engineering fundamentals, and an engineering specialization to the solution of complex engineering problems.
PO2. Problem analysis: Identify, formulate, review research literature, and analyze complex engineering problems reaching substantiated conclusions using first principles of mathematics,natural sciences, and engineering sciences.
PO3. Design/development of solutions: Design solutions for complex engineering problems and design system components or processes that meet the specified needs with appropriate consideration for the public health and safety, and the cultural, societal, and environmental considerations.
PO4. Conduct investigations of complex problems: Use researchbased knowledge and research methods including design of experiments, analysis and interpretation of data, and synthesis of the information to provide valid conclusions.
PO5. Modern tool usage: Create, select, and apply appropriate techniques, resources, and modern engineering and IT tools including prediction and modeling to complex engineering activities with an understanding of the limitations.
PO6. The engineer and society: Apply reasoning informed by the contextual knowledge to assesssocietal, health, safety, legal and cultural issues and the consequent responsibilities relevant to the professional engineering practice.
PO7. Environment and sustainability: Understand the impact of the professional engineering solutions in societal and environmental contexts, and demonstrate the knowledge of, and needfor sustainable development.
PO8. Ethics: Apply ethical principles and commit to professional ethics and responsibilities and norms of the engineering practice.
PO9. Individual and team work: Function effectively as an individual, and as a member or leader in diverse teams, and in multidisciplinary settings.
PO10. Communication: Communicate effectively on complex engineering activities with the engineering community and with society at large, such as, being able to comprehend and write effective reports and design documentation, make effective presentations, and give and receive clear instructions.
PO11. Project management and finance: Demonstrate knowledge and understanding of the engineering and management principles and apply these to one‘s own work, as a member and leader in a team, to manage projects and in multidisciplinary environments.
PO12. Life-long learning: Recognize the need for, and have the preparation and ability to engage inindependent and life-long learning in the broadest context of technological change.
PROGRAM SPECIFIC OBJECTIVES (PSOs)
PSO1. To create, select, and apply appropriate techniques, resources, modern engineering and IT tools including prediction and modelling to complex engineering activities with an understanding of the limitations.
PSO2. To manage complex IT projects with consideration of the human, financial, ethical and environmental factors and an understanding of risk management processes, and operational and policy implications.
SEMESTER – I
Contribution 1: Reasonable 2: Significant 3: Strong Course Name:C101 – COMMUNICATIVE ENGLISH (HS8151)
C101.1 | Read articles of a general kind in magazines and newspapers. |
C101.2 | Participate effectively in informal conversations; introduce themselves and their friends and express opinions in English. |
C101.3 | Comprehend conversations and short talks delivered in English |
C101.4 | Write short essays of a general kind and personal letters and emails in English |
Course Name:C102 – ENGINEERING MATHEMATICS – I (MA8151)
C102.1 | Use both the limit definition and rules of differentiation to differentiate functions. |
C102.2 | Apply differentiation to solve maxima and minima problems. |
C102.3 |
Evaluate integrals both by using Riemann sums and by using the Fundamental Theorem of Calculus. |
C102.4 |
Apply integration to compute multiple integrals, area, volume, integrals in polar coordinates, in addition to change of order and change of variables. |
C102.5 |
Evaluate integrals using techniques of integration, such as substitution, partial fractions and integration by parts. |
C102.6 |
Determine convergence/divergence of improper integrals and evaluate convergent improper integrals. |
C102.7 | Apply various techniques in solving differential equations. |
Course Name:C103 – ENGINEERING PHYSICS (PH8151)
C103.1 | The students will gain knowledge on the basics of properties of matter and its applications, |
C103.2 | The students will acquire knowledge on the concepts of waves and optical devices and their applications in fibre optics, |
C103.3 | The students will have adequate knowledge on the concepts of thermal properties of materials and their applications in expansion joints and heat exchangers, |
C103.4 | The students will get knowledge on advanced physics concepts of quantum theory and its applications in tunneling microscopes, and |
C103.5 | The students will understand the basics of crystals, their structures and different crystal growth techniques. |
Course Name:C104 – ENGINEERING CHEMISTRY (CY8151)
C104.1 | The knowledge gained on engineering materials, fuels, energy sources and water treatment techniques will facilitate better understanding of engineering processes and applications for further learning. |
C105.1 | Develop algorithmic solutions to simple computational problems |
C105.2 | Read, write, execute by hand simple Python programs. |
C105.3 | Structure simple Python programs for solving problems. |
C105.4 | Decompose a Python program into functions. |
C105.5 | Represent compound data using Python lists, tuples, dictionaries. |
C105.6 | Read and write data from/to files in Python Programs. |
Course Name:C106 – ENGINEERING GRAPHICS (GE8152)
C106.1 | Familiarize with the fundamentals and standards of Engineering graphics |
C106.2 | Perform freehand sketching of basic geometrical constructions and multiple views of objects. |
C106.3 | Project orthographic projections of lines and plane surfaces. |
C106.4 | Draw projections and solids and development of surfaces. |
C106.5 | Visualize and to project isometric and perspective sections of simple solids. |
Course Name:C107 – PROBLEM SOLVING AND PYTHON PROGRAMMING LABORATORY (GE8161)
C107.1 | Write, test, and debug simple Python programs. |
C107.2 | Implement Python programs with conditionals and loops. |
C107.3 | Develop Python programs step-wise by defining functions and calling them. |
C107.4 | Use Python lists, tuples, dictionaries for representing compound data. |
C107.5 | Read and write data from/to files in Python. |
Course Name:C108 – PHYSICS AND CHEMISTRY LABORATORY (BS8161)
PHYSICS LABORATORY | |
C108.1 | Apply principles of elasticity, optics and thermal properties for engineering applications. |
CHEMISTRY LABORATORY | |
C108.2 | The students will be outfitted with hands-on knowledge in the quantitative chemical analysis of water quality related parameters. |
SEMESTER – II Course Name:C109 – TECHNICAL ENGLISH (HS8251)
C109.1 | Read technical texts and write area- specific texts effortlessly. |
C109.2 | Listen and comprehend lectures and talks in their area of specialisation successfully. |
C109.3 | Speak appropriately and effectively in varied formal and informal contexts. |
C109.4 | Write reports and winning job applications. |
C110.1 | Eigenvalues and eigenvectors, diagonalization of a matrix, Symmetric matrices, Positive definite matrices and similar matrices. |
C110.2 | Gradient, divergence and curl of a vector point function and related identities. |
C110.3 | Evaluation of line, surface and volume integrals using Gauss, Stokes and Green‘s theorems and their verification. |
C110.4 | Analytic functions, conformal mapping and complex integration. |
C110.5 | Laplace transform and inverse transform of simple functions, properties, various related theorems and application to differential equations with constant coefficients. |
Course Name:C111 – PHYSICS FOR INFORMATION SCIENCE (PH8252)
C111.1 | Gain knowledge on classical and quantum electron theories, and energy band structuues, |
C111.2 | Acquire knowledge on basics of semiconductor physics and its applications in various devices, |
C111.3 | Get knowledge on magnetic properties of materials and their applications in data storage, |
C111.4 |
Have the necessary understanding on the functioning of optical materials for optoelectronics, Understand the basics of quantum structures and their applications in carbon electronics |
Course Name:C112 – BASIC ELECTRICAL, ELECTRONICS AND MEASUREMENT ENGINEERING (BE8255)
C112.1 | Discuss the essentials of electric circuits and analysis. |
C112.2 | Discuss the basic operation of electric machines and transformers |
C112.3 | Introduction of renewable sources and common domestic loads. |
C112.4 | To understand the fundamentals of electronic circuit constructions. |
C112.5 | Introduction to measurement and metering for electric circuits. |
Course Name:C113 INFORMATION TECHNOLOGY ESSENTIALS (IT8201)
C113.1 | Design and deploy web-sites |
C113.2 | Design and deploy simple web-applications |
C113.3 | Create simple database applications |
C113.4 | Develop information system |
C113.5 | Describe the basics of networking and mobile communications |
C115.1 | Develop simple applications in C using basic constructs |
C115.2 | Design and implement applications using arrays and strings |
C115.3 | Develop and implement applications in C using functions and pointers. |
C115.4 | Develop applications in C using structures. |
C115.5 | Design applications using sequential and random access file processing. |
Course Name: C116 ENGINEERING PRACTICES LABOROTARY (GE8261)
C116.1 | Fabricate carpentry components and pipe connections including plumbing works. |
C116.2 | Use welding equipments to join the structures. |
C116.3 | Carry out the basic machining operations |
C116.4 | Make the models using sheet metal works |
C116.5 | Illustrate on centrifugal pump, Air conditioner, operations of smithy, foundary and |
C116.6 | fittings |
C116.7 | Carry out basic home electrical works and appliances |
C116.8 | Measure the electrical quantities |
C116.9 | Elaborate on the components, gates, soldering practices. |
Course Name: C117 C PROGRAMMING LABOROTARY (CS8261)
C117.1 | Develop C programs for simple applications making use of basic constructs, arrays and strings. |
C117.2 | Develop C programs involving functions, recursion, pointers, and structures. |
C117.3 | Design applications using sequential and random access file processing. |
C118.1 | Design interactive websites using basic HTML tags, different styles, links and with all |
C118.2 | Basic control elements. |
C118.3 | Create client side and server side programs using scripts using PHP. |
C118.4 | Design dynamic web sites and handle multimedia components |
C118.5 | Create applications with PHP connected to database. |
C118.6 | Create Personal Information System |
C118.7 | Implement the technologies behind computer networks and mobile communication. |
SEMESTER – III Course Name: C202 DISCRETE MATHEMATICS (MA8351)
C202.1 | Have knowledge of the concepts needed to test the logic of a program. |
C202.2 | Have an understanding in identifying structures on many levels. |
C202.3 | Be aware of a class of functions which transform a finite set into another finite set which relates toinput and output functions in computer science. |
C202.4 | Be aware of the counting principles. |
C202.5 | Be exposed to concepts and properties of algebraic structures such as groups, rings and fields. |
Course Name: C203 DIGITAL PRINCIPLES AND SYSTEM DESIGN (CS8351)
C203.1 | Simplify Boolean functions using KMap |
C203.2 | Implement designs using Programmable Logic Devices |
C203.3 | Write HDL code for combinational and Sequential Circuits |
Course Name: C204 DATA STRUCTURES (CS8391)
C204.1 | Implement abstract data types for linear data structures. |
C204.2 | Apply the different linear and non-linear data structures to problem solutions. |
C204.3 | Critically analyze the various sorting algorithms. |
C205.1 | Develop Java programs using OOP principles |
C205.2 | Develop Java programs with the concepts inheritance and interfaces |
C205.3 | Build Java applications using exceptions and I/O streams |
C205.4 | Develop Java applications with threads and generics classes |
C205.5 | Develop interactive Java programs using swings |
Course Name: C206 ANALOG AND DIGITAL COMMUNICATION (EC8394)
C206.1 | Apply analog and digital communication techniques. |
C206.2 | Use data and pulse communication techniques. |
C206.3 | Analyze Source and Error control coding. |
C206.4 | Utilize multi-user radio communication. |
Course Name: C207 DATA STRUCTURES LABORATORY (CS8381)
C207.1 | Write functions to implement linear and non-linear data structure operations |
C207.2 | Suggest appropriate linear / non-linear data structure operations for solving a given problem |
C207.3 | Appropriately use the linear / non-linear data structure operations for a given problem |
C207.4 | Apply appropriate hash functions that result in a collision free scenario for data storage andretrieval |
Course Name: C208 OBJECT ORIENTED PROGRAMMING LABORATORY (CS8383)
C208.1 | Develop and implement Java programs for simple applications that make use of classes,packages and interfaces. |
C208.2 | Develop and implement Java programs with arraylist, exception handling andmultithreading. |
C208.3 | Design applications using file processing, generic programming and event handling. |
C209.1 | Implement simplified combinational circuits using basic logic gates |
C209.2 | Implement combinational circuits using MSI devices |
C209.3 | Implement sequential circuits like registers and counters |
C209.4 | Simulate combinational and sequential circuits using HDL |
Course Name: C210 INTERPERSONAL SKILLS/LISTENING & SPEAKING (HS8381)
C210.1 | Listen and respond appropriately. |
C210.1 | Participate in group discussions |
C210.1 | Make effective presentations |
C210.1 | Participate confidently and appropriately in conversations both formal and informal |
SEMESTER – IV Course Name: C211 PROBABILITY AND STATISTICS (MA8391)
C211.1 | Understand the fundamental knowledge of the concepts of probability and have knowledge ofstandard distributions which can describe real life phenomenon. |
C211.2 | Understand the basic concepts of one and two dimensional random variables and apply inengineering applications. |
C211.3 | Apply the concept of testing of hypothesis for small and large samples in real life problems. |
C211.4 | Apply the basic concepts of classifications of design of experiments in the field of agricultureand statistical quality control. |
C211.5 | Have the notion of sampling distributions and statistical techniques used in engineering andmanagement problems. |
C212.1 | Understand the basics structure of computers, operations and instructions. |
C212.2 | Design arithmetic and logic unit. |
C212.3 | Understand pipelined execution and design control unit. |
C212.4 | Understand parallel processing architectures. |
C212.5 | Understand the various memory systems and I/O communication. |
Course Name: C213 DATABASE MANAGEMENT SYSTEMS (CS8492)
C213.1 | Classify the modern and futuristic database applications based on size and complexity |
C213.2 | Map ER model to Relational model to perform database design effectively |
C213.3 | Write queries using normalization criteria and optimize queries |
C213.4 | Compare and contrast various indexing strategies in different database systems |
C213.5 | Appraise how advanced databases differ from traditional databases. |
Course Name: C 214 DESIGN AND ANALYSIS OF ALGORITHMS (CS8451)
C214.1 | Design algorithms for various computing problems. |
C214.2 | Analyze the time and space complexity of algorithms. |
C214.3 | Critically analyze the different algorithm design techniques for a given problem. |
C214.4 | Modify existing algorithms to improve efficiency. |
Course Name: C215 OPERATING SYSTEMS (CS8493)
C215.1 | Analyze various scheduling algorithms. |
C215.2 | Understand deadlock, prevention and avoidance algorithms. |
C215.3 | Compare and contrast various memory management schemes. |
C215.4 | Understand the functionality of file systems. |
C215.5 | Perform administrative tasks on Linux Servers. |
C216.1 | Public awareness of environment at infant stage. |
C216.2 | Ignorance and incomplete knowledge has lead to misconceptions. |
C216.3 | Development and improvement in standard of living has lead to serious environmentaldisasters |
Course Name: C217 DATABASE MANAGEMENT SYSTEMS LABORATORY (CS8481)
C217.1 | Use typical data definitions and manipulation commands. |
C217.2 | Design applications to test Nested and Join Queries |
C217.3 | Implement simple applications that use Views |
C217.4 | Implement applications that require a Front-end Tool |
C217.5 | Critically analyze the use of Tables, Views, Functions and Procedures |
Course Name: C218 OPERATING SYSTEMS LABORATORY (CS8461)
C218.1 | Compare the performance of various CPU Scheduling Algorithms |
C218.2 | Implement Deadlock avoidance and Detection Algorithms |
C218.3 | Implement Semaphores |
C218.4 | Create processes and implement IPC |
C218.5 | Analyze the performance of the various Page Replacement Algorithms |
C218.6 | Implement File Organization and File Allocation Strategies |
Course Name: C219 ADVANCED READING AND WRITING (HS8461)
C219.1 | Write different types of essays. |
C219.2 | Write winning job applications. |
C219.3 | Read and evaluate texts critically. |
C219.4 | Display critical thinking in various professional contexts. |
Course Name: C301 ALGEBRA AND NUMBER THEORY (MA8551)
C301.1 | Apply the basic notions of groups, rings, fields which will then be used to solve relatedproblems. |
C301.2 | Explain the fundamental concepts of advanced algebra and their role in modernmathematics and applied contexts. |
C301.3 | Demonstrate accurate and efficient use of advanced algebraic techniques. |
C301.4 |
Demonstrate their mastery by solving non – trivial problems related to the concepts, and byproving simple theorems about the, statements proven by the text. |
C301.5 | Apply integrated approach to number theory and abstract algebra, and provide a firm basisfor further reading and study in the subject. |
Course Name: C302 MICROPROCESSOR & MICROCONTROLLER (EC8691)
C302.1 | Understand and execute programs based on 8086 microprocessor. |
C302.2 | Design Memory Interfacing circuits. |
C302.3 | Design and interface I/O circuits. |
Course Name: C303 WEB TECHNOLOGY (IT8501)
C303.1 | Design simple web pages using markup languages like HTML and XHTML. |
C303.2 | Create dynamic web pages using DHTML and java script that is easy to navigate and use. |
C303.3 | Program server side web pages that have to process request from client side web pages. |
C303.4 | Represent web data using XML and develop web pages using JSP. |
C303.5 | Understand various web services and how these web services interact. |
C304.1 | Identify the key activities in managing a software project. |
C304.2 | Compare different process models. |
C304.3 | Concepts of requirements engineering and Analysis Modeling. |
C304.4 | Apply systematic procedure for software design and deployment. |
C304.5 | Compare and contrast the various testing and maintenance. |
Course Name: C307 MICROPROCESSORS AND MICROCONTROLLERS LABORATORY (EC8681)
C307.1 | Write ALP Programmes for fixed and Floating Point and Arithmetic operations |
C307.2 | Interface different I/Os with processor |
C307.3 | Generate waveforms using Microprocessors |
C307.4 | Execute Programs in 8051 |
C307.5 | Explain the difference between simulator and Emulator |
Course Name: C308 NETWORKS LABORATORY (CS8581)
C308.1 | Implement various protocols using TCP and UDP. |
C308.2 | Compare the performance of different transport layer protocols. |
C308.3 | Use simulation tools to analyze the performance of various network protocols. |
C308.4 | Analyze various routing algorithms. |
C308.5 | Implement error correction codes |
Course Name: C309 WEB TECHNOLOGY LABORATORY (IT8511)
C309.1 | Design simple web pages using markup languages like HTML and XHTML. |
C309.2 |
Create dynamic web pages using DHTML and java script that is easy to navigate and use. |
C309.3 | Program server side web pages that have to process request from client side web pages. |
C309.4 | Represent web data using XML and develop web pages using JSP. |
C309.5 | Understand various web services and how these web services interact. |
Course Name: C309 COMPUTATIONAL INTELLIGENCE (IT8601)
C309.1 | Provide a basic exposition to the goals and methods of Computational Intelligence. |
C309.2 | Study of the design of intelligent computational techniques. |
C309.3 | Apply the Intelligent techniques for problem solving |
C309.4 |
Improve problem solving skills using the acquired knowledge in the areas of, reasoning, naturallanguage understanding, computer vision, automatic programming and machine learning. |
Course Name: C310 OBJECT ORIENTED ANALYSIS AND DESIGN (CS8592)
C310.1 | Express software design with UML diagrams |
C310.2 | Design software applications using OO concepts. |
C310.3 | Identify various scenarios based on software requirements |
C310.4 | Transform UML based software design into pattern based design using design patterns |
C310.5 | Understand the various testing methodologies for OO software |
Course Name: C311 MOBILE COMMUNICATION (IT8602)
C311.1 | Explain the basics of mobile telecommunication system |
C311.2 | Illustrate the generations of telecommunication systems in wireless network |
C311.3 | Understand the architecture of Wireless LAN technologies |
C311.4 | Determine the functionality of network layer and Identify a routing protocol for a given Ad hocnetworks |
C311.5 | Explain the functionality of Transport and Application layer |
C314.1 | Work with big data tools and its analysis techniques |
C314.2 | Analyze data by utilizing clustering and classification algorithms |
C314.3 | Learn and apply different mining algorithms and recommendation systems for large volumes ofdata |
C314.4 | Perform analytics on data streams |
C314.5 | Learn NoSQL databases and management. |
Course Name: C315 COMPUTER GRAPHICS AND MULTIMEDIA (CS8092)
C315.1 | Design two dimensional graphics. |
C315.2 | Apply two dimensional transformations. |
C315.3 | Design three dimensional graphics. |
C315.4 | Apply three dimensional transformations. |
C315.5 | Apply Illumination and color models. |
C315.6 | Apply clipping techniques to graphics. |
C315.7 | Understood Different types of Multimedia File Format |
C315.8 | Design Basic 3d Scenes using Blender |
Course Name: C316 MOBILE APPLICATION DEVELOPMENT LABORATORY (CS8662)
C316.1 | Develop mobile applications using GUI and Layouts. |
C316.2 | Develop mobile applications using Event Listener. |
C316.3 | Develop mobile applications using Databases. |
C316.4 | Develop mobile applications using RSS Feed, Internal/External Storage, SMS, Multi-threading and GPS. |
C316.5 | Analyze and discover own mobile app for simple needs. |
C316.1 | Perform OO analysis and design for a given problem specification. |
C316.2 | Identify and map basic software requirements in UML mapping. |
C316.3 | Improve the software quality using design patterns and to explain the rationale behind applyingspecific design patterns |
C316.4 | Test the compliance of the software with the SRS. |
Course Name: C317 PROFESSIONAL COMMUNICATION (HS8581)
C317.1 | Make effective presentations |
C317.2 | Participate confidently in Group Discussions. |
C317.3 | Attend job interviews and be successful in them. |
C317.4 | Develop adequate Soft Skills required for the workplace |
SEMESTER – VII Course Name: C401 PRINCIPLES OF MANAGEMENT (MG8591)
C401.1 |
Upon completion of the course, students will be able to have clear understanding of managerial functions like planning, organizing, staffing, leading & controlling and have same basic knowledge on international aspect of management |
Course Name: C 402 CRYPTOGRAPHY AND NETWORK SECURITY (CS8792)
C402.1 | Understand the fundamentals of networks security, security architecture, threats andvulnerabilities |
C402.2 | Apply the different cryptographic operations of symmetric cryptographic algorithms |
C402.3 | Apply the different cryptographic operations of public key cryptography |
C402.4 | Apply the various Authentication schemes to simulate different applications. |
C402.5 | Understand various Security practices and System security standards |
C403.1 | Articulate the main concepts, key technologies, strengths and limitations of cloud computing. |
C403.2 | Learn the key and enabling technologies that help in the development of cloud. |
C403.3 | Develop the ability to understand and use the architecture of compute and storage cloud,service and delivery models. |
C403.4 | Explain the core issues of cloud computing such as resource management and security. |
C403.5 | Be able to install and use current cloud technologies. |
Course Name: C406 FOSS AND CLOUD COMPUTING LABORATORY (IT8711)
C406.1 | Configure various virtualization tools such as Virtual Box, VMware workstation. |
C406.2 | Design and deploy a web application in a PaaS environment. |
C406.3 | Learn how to simulate a cloud environment to implement new schedulers. |
C406.4 | Install and use a generic cloud environment that can be used as a private cloud. |
C406.5 | Manipulate large data sets in a parallel environment. |
Course Name: C407 SECUTITY LABORATORY (IT8761)
C407.1 | Develop code for classical Encryption Techniques to solve the problems. |
C407.2 | Build cryptosystems by applying symmetric and public key encryption algorithms. |
C407.3 | Construct code for authentication algorithms. |
C407.4 | Develop a signature scheme using Digital signature standard. |
C407.5 | Demonstrate the network security system using open source tools |
SEMESTER – VIII
Course Name: C408 PROFESSIONAL ETHICS IN ENGINEERING(GE8076)
C408.1 | Ability to apply ethics in society. |
C408.2 | Ability to discuss the ethical issues related to engineering |
C408.3 | Ability to realize the responsibilities and rights in the society |
C408.4 | Ability to create an awareness on Engineering Ethics and Human Values. |
C408.5 | Ability to instill Moral and Social Values and Loyalty . |
Course Name: C409 INFORMATION RETRIEVAL TECHNIQUES (CS8080)
C409.1 | Use an open source search engine framework and explore its capabilities |
C409.2 | Apply appropriate method of classification or clustering. |
C409.3 | Design and implement innovative features in a search engine. |
C409.4 | Design and implement a recommender system. |