B23-CAP-502 Back-end Development
Part A – Introduction | |||
Subject | BCA | ||
Semester | V | ||
Name of the Course | Back-end Development | ||
Course Code | B23-CAP-502 | ||
Course Type: (CC/MCC/MDC/CC- M/DSEC/VOC/DSE/PC/AEC/ VAC) | CC-B5 | ||
Level of the course (As per Annexure-I | 300-399 | ||
Pre-requisite for the course (if any) | B23-CAP-202 | ||
Course Learning Outcomes(CLO): | After completing this course, the learner will be able to:
1. Understand the principles of back-end development. 2. Gain proficiency in back-end programming languages and frameworks. 3. Learn to design and manage databases. 4. Develop skills to create and use back-end applications.
5*. to equip with the knowledge of back-end programming. |
||
Credits | Theory | Practical | Total |
3 | 1 | 4 | |
Contact Hours | 3 | 2 | 5 |
Max. Marks:75(50(T)+25(P))
Internal Assessment Marks:20(15(T)+5(P)) End Term Exam Marks: 55(35(T)+20(P)) |
Time: 3 Hrs.(T), 3Hrs.(P) | ||
Part B- Contents of the Course | |||
Instructions for Paper-Setter
The examiner will set a total of nine questions. Out of which first question will be compulsory. The remaining eight questions will be set from four units selecting two questions from each unit. The examination will be of three-hour duration. All questions will carry equal marks. The first question will comprise short answer-type questions covering the entire syllabus. The candidate must attempt five questions, selecting one from each unit. The first question will be compulsory. |
The practicum will be evaluated by an external and an internal examiner. The examination will be of three-hour duration. | ||
Unit | Topics | Contact Hours |
I | Introduction to back-end Development: Overview of backend, Client-server architecture, Introduction to web servers and database
Programming Languages and Tools: Introduction to server- side languages (e.g., Node.js), Syntax and semantics of chosen server-side language |
11 |
II | Programming Languages: Version control with Git, Introduction to IDEs (Integrated Development Environments) of chosen language, Writing and executing basic server-side scripts
Performance Optimization and Security: Caching strategies, Query optimization |
11 |
III | Database Management: Introduction to databases and DBMS (SQL and NoSQL), Designing a database schema, CRUD operations (Create, Read, Update, Delete), Connecting applications to a database | 11 |
IV | Server-Side Frameworks: Overview of popular server-side frameworks (e.g., Express.js), Building a simple application using a framework.
API Development: RESTful API concepts, Designing and documenting APIs, Authentication and authorization basics Web security best practices (SQL injection, XSS, CSRF) |
12 |
V* | The following activities be carried out/ discussed in the lab during the initial period of the semester.
Programming Lab: · Introduction to Backend Technologies: Objective: Familiarize students with backend technologies and tools. o Setup development environment (e.g., IDE, Git). o Create a simple “Hello World” backend application in Node.js. · Working with Databases (SQL): Objective: Learn basic SQL operations and database interactions. o Set up MySQL/PostgreSQL database. o Perform CRUD operations using SQL queries (Create, Read, Update, Delete). · Working with NoSQL Databases: Objective: Introduce students to NoSQL databases. o Set up MongoDB database. o Implement CRUD operations using NoSQL commands. · Building RESTful APIs: Objective: Develop skills in designing and implementing RESTful APIs. o Create endpoints for CRUD operations. |
30 |
o Implement basic authentication and authorization.
· Web Frameworks (Choose one: Node.js or Express.js): Objective: Gain practical experience with backend frameworks. o Setup Node.js/Express.js project. o Implement a simple web application (Express.js or Node.js). · Integrating Frontend and Backend: Objective: Understand frontend-backend interaction. o Create API endpoints to serve JSON data. o Develop a frontend (HTML/CSS/JavaScript) to consume backend API. · Data Validation and Error Handling: Objective: Learn techniques for validating input data and handling errors. o Implement input validation using middleware (Express.js) or Node.js forms. o Handle errors and exceptions gracefully. · Security Best Practices: Objective: Implement security measures in backend applications. o Implement HTTPS/SSL configuration. o Prevent common security vulnerabilities (e.g., SQL injection, XSS). |
||
Suggested Evaluation Methods | ||
Internal Assessment:
➢ Theory · Class Participation: 5 · Seminar/presentation/assignment/quiz/class test etc.:5 · Mid-Term Exam: 10 ➢ Practicum · Class Participation: NA · Seminar/Demonstration/Viva-voce/Lab records etc.:10 · Mid-Term Exam: NA |
End Term Examination:
A three-hour exam for both theory and practicum. |
|
Part C-Learning Resources | ||
Recommended Books/e-resources/LMS:
· “Node.js Design Patterns” by Mario Casciaro and Luciano Mammino · “Learning PHP, MySQL & JavaScript” by Robin Nixon · Online documentation and tutorials for the chosen programming language and frameworks · “Clean Code: A Handbook of Agile Software Craftsmanship” by Robert C. Martin · “Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and · Maintainable Systems” by Martin Kleppmann · “SQL Cookbook: Query Solutions and Techniques for Database Developers” by Anthony Molinaro · “High-Performance Browser Networking: What every web developer should know about networking and web performance” by Ilya Grigorik |