FYBSC Computer
FYBSC Computer
Computer Science
The B. Sc. (Computer Science) course is systematically designed three year degree program
under the faculty of Science and Technology. The objective of the course is to prepare students
to undertake careers involving problem solving using computer science and technologies, or to
pursue advanced studies and research in computer science. The syllabus which comprises of
Computer Science subject along with that of the three allied subjects (Mathematics, Electronics
and Statistics) covers the foundational aspects of computing sciences and also develops the
requisite professional skills and problem solving abilities using computing sciences.
Introduction:
At the first year of under-graduation, the basic foundations of two important skills required for
software development are laid. A course in problem solving and programming along with a
course in database fundamentals forms the preliminary skill set for solving computational
problems. The practical courses are designed to supplement the theoretical training in the year.
Along with Computer Science, the two theoretical and one practical course each in Statistics,
Mathematics and Electronics help in building a strong foundation. Career Advancement courses
are introduced in both semesters to cover additional areas of Computer Science.
At the second year of under-graduation, computational problem solving skills are further
strengthened by a course in Data structures. Software engineering concepts that are required for
project design are also introduced. Essential concepts of computer networking are also
introduced in this year. The practical course included in both semesters complements the theory
courses.
At the third year of under-graduation, all the subjects are designed to fulfill core Computer
Science requirements as well as meet the needs of the software industry. Theory courses are
adequately supplemented by hands-on practical courses. Skill Enhancement courses enable the
students to acquire additional value-added skills.
Objectives:
To develop problem solving abilities using a computer.
To build the necessary skill set and analytical abilities for developing computer based
solutions for real life problems.
To train students in professional skills related to Software Industry.
To prepare necessary knowledge base for research and development in Computer
Science.
To help students build-up a successful career in Computer Science and to produce
entrepreneurs who can innovate and develop software products.
Detailed Syllabus:
Semester- I
Paper - I
Course Type: Core Credit Course Code: CS101
Course Title : Problem Solving Using Computer and ‘C’ Programming - I
Teaching Scheme No. of Credits Examination Scheme
2 Hours / Week 2 IE : 15 Marks
UE: 35 Marks
Course Objectives
1. To introduce the foundations of computing, programming and problem- solving using
computers.
2. To develop the ability to analyze a problem and devise an algorithm to solve it.
3. To formulate algorithms, pseudocodes and flowcharts for arithmetic and logical problems
4. To understand structured programming approach.
5. To develop the basic concepts and terminology of programming in general.
6. To implement algorithms in the ‘C’ language.
7. To test, debug and execute programs.
Course Outcomes:- On completion of this course, students will be able to :
1. Explore algorithmic approaches to problem solving.
2. Develop modular programs using control structures and arrays in ‘C’.
Course Contents
Chapter 1 Problem Solving Aspects 5 Hours
1.1. Introduction to problem solving using computers.
1.2. Problem solving steps.
1.3 Algorithms-definition, characteristics , examples ,advantages and limitations.
1.4 Flowcharts - definition, notations , examples , advantages and limitations, Comparison with
algorithms.
1.5 Pseudo codes - notations, examples, advantages and limitations.
1.6 Programming Languages as tools, programming paradigms, types of languages
1.7 Converting pseudo-code to programs.
1.8 Compilation process (compilers , interpreters), linking and loading, syntax and semantic
errors, testing a program
1.9 Good Programming Practices (naming conventions , documentation, indentation).
Reference Books:
1. How to Solve it by Computer, R.G. Dromey, Pearson Education.
2. Problem Solving and Programming Concept, Maureen Sprankle,7 th Edition, Pearson
Publication.
Semester- I
Paper - II
Course Type: Core Credit Course Code: CS102
Course Title : Database Management Systems
Teaching Scheme No. of Credits Examination Scheme
02 Hours / Week 2 IE : 15 Marks
UE: 35 Marks
Prerequisites
Basic Knowledge of file system, storing data in file system and Operations on sets
Course Objectives
To understand the fundamental concepts of database.
To understand user requirements and frame it in data model.
To understand creations, manipulation and querying of data in databases.
Course Outcomes
On completion of the course, student will be able to–
Solve real world problems using appropriate set, function, and relational models.
Design E-R Model for given requirements and convert the same into database tables.
Use SQL.
Course Contents
Chapter 1 Introduction to DBMS 3 Hours
1.1. Introduction
1.2. File system Vs DBMS
1.3. Levels of abstraction & data independence
1.4.Structure of DBMS (Roles of DBMS Users)
1.5. Users of DBMS Advantages of DBMS
Semester- I
Paper - III
Submission:
Problem Solving Assignments:
The problem solving assignments are to be submitted by the student in the form of a journal
containing individual assignment sheets. Each assignment includes the Assignment Title,
Problem statement, Date of submission, Assessment date, Assessment grade and instructors sign.
Programming Assignments:
Programs should be done individually by the student in the respective login. The codes should be
uploaded on either the local server, Moodle, Github or any open source LMS. Print-outs of the
programs and output may be taken but not mandatory for assessment.
DBMS Assignments:
For each problem/case study, the student must design the database model in the form of an E-R
diagram. Table design should be based on the same and must include proper constraints and
integrity checks. The students have to create, populate the tables and then perform the activities
specified in each of the assignments. A pool of databases will get created as student progresses
through the assignments and these databases can be repeatedly used in subsequent assignments.
A separate softcopy of the queries must be maintained for each assignment.
Assessment:
Continuous assessment of laboratory work is to be done based on overall performance and lab
assignments performance of student. Each lab assignment assessment will be assigned
grade/marks based on parameters with appropriate weightage. Suggested parameters for overall
assessment as well as each lab assignment assessment include- timely completion, performance,
innovation, efficient codes and good programming practices.
Operating Environment:
For ‘C’ Programming :
Operating system: Linux
Editor: Any linux based editor like vi, gedit etc.
Compiler : cc or gcc
For DBMS:
Operating System: Linux Operating system
DBMS: PostgreSQL
Language: SQL
Assignment 1.
Problem Solving using Pseudo code and Flowchart, Simple programs, Understanding
errors and error handling.
Assignment 2.
Decision Making Control Structures.
Assignment 3.
Loop Control Structures
Assignment 4.
Functions (User Defined functions, Library functions and Recursion ).
Assignment 5.
Arrays (1-D and 2-D).
Assignment 1.
To create simple tables with only the primary key constraint ( as a table level
constraint & as a field level constraint) (include all data types)
Assignment 2.
To create more than one table, with referential integrity constraint, PK constraint.
Assignment 3.
To create one or more tables with following constraints, in addition to the first two
constraints (PK & FK)
a. Check constraint
b. Unique constraint
c. Not null constraint
Assignment 4.
To drop a table, alter schema of a table, insert / update / delete records using tables
created in previous Assignments. ( use simple forms of insert / update / delete
statements)
Assignment 5.
To query the tables using simple form of select statement Select <field-list> from
table [where <condition> order by <field list>] Select <field-list, aggregate functions
> from table [where <condition> group by <> having <> order by <>]
Assignment 6.
To query table, using set operations (union, intersect)
Assignment 7.
To query tables using nested queries (use of ‘Except’, exists, not exists, all clauses
Assignment 8.
To create views.
Semester- II
Paper - I
Course Contents
Chapter 1 Pointers 8 Hours
1.1. Introduction to Pointers.
1.2. Declaration, definition, initialization, dereferencing.
1.3. Pointer arithmetic.
1.4. Relationship between Arrays & Pointers- Pointer to array, Array of pointers.
1.5. Multiple indirection (pointer to pointer).
1.6. Functions and pointers- Passing pointer to function, Returning pointer from function,
Function pointer.
1.7. Dynamic memory management- Allocation(malloc(),calloc()), Resizing(realloc()),
Releasing(free()).,
1.8. Memory leak, dangling pointers.
1.9. Types of pointers.
Reference Books:
1. C: the Complete Reference, Schildt Herbert, 4th edition, McGraw Hill
2. A Structured Programming Approach Using C, Behrouz A. Forouzan, Richard
F. Gilberg, Cengage Learning India
3. The ‘C’ programming language, Brian Kernighan, Dennis Ritchie, PHI
4. Programming in C ,A Practical Approach, Ajay Mittal , Pearson
5. Programming with C, B. Gottfried, 3rd edition, Schaum’s outline Series, Tata McGraw
Hill.
6. Programming in ANSI C, E. Balagurusamy, 7th Edition, McGraw Hill.
Semester- II
Paper - II
Course Objectives
To teach fundamental concepts of RDBMS (PL/PgSQL)
To teach database management operations
Be familiar with the basic issues of transaction processing and concurrency control
To teach data security and its importance
Course Outcomes
On completion of the course, student will be able to–
Design E-R Model for given requirements and convert the same into database tables.
Use database techniques such as SQL & PL/SQL.
Explain transaction Management in relational database System.
Use advanced database Programming concepts
Course Contents
Chapter 1 Relational Database Design Using PLSQL 8 Hours
1.1 Introduction to PLSQL
1.2 PL/PgSqL: Datatypes, Language structure
1.3 Controlling the program flow, conditional statements, loops
1.4 Stored Procedures
1.5 Stored Functions
1.6 Handling Errors and Exceptions
1.7 Cursors
1.8 Triggers
Reference Books:
1. Database System Concepts, By Silberschatz A., Korth H., Sudarshan S., 6 th Edition,
McGraw Hill Education
2. Database Management Systems, Raghu Ramakrishnan, Mcgraw-Hill Education
3. Database Systems, Shamkant B. Navathe, Ramez Elmasri, PEARSON HIGHER
EDUCATION
4. Fundamentals of Database Systems, By: Elmasri and Navathe, 4 th Edition Practical
PostgreSQL O’REILLY
5. Database Management Systems,RaghuRamakrishnan and JohannesGehrke,McGraw-Hill
Science/Engineering/Math; 3 edition, ISBN: 9780072465631
6. NoSQL Distilled, Pramod J. Sadalage and Martin Fowler, Addison Wesley
7. An Introduction to Database Systems”, C J Date, Addison-Wesley
8. Database Systems : Concepts, Design and Application”, S.K.Singh, Pearson, Education
9. NoSQL Distilled A Brief Guide to the Emerging World of Polyglot Persistence : by
Pramod J. Sadalage, Martin Fowler, Addison-Wesley, Pearson Education, Inc.
10. MongoDB: The Definitive Guide , Kristina Chodorow, Michael Dirolf, O’Reilly
Publications
Semester- II
Paper - III
Course Type: Core Credit Course Code:CS203
Title : Practical Course on Advanced ‘C’ Programming and Relational Dstabase
Management Systems
Guidelines :
Lab Book: The lab book is to be used as a hands-on resource, reference and record of
assignment submission and completion by the student. The lab book contains the set of
assignments which the student must complete as a part of this course.
Submission:
Programming Assignments:
Programs should be done individually by the student in respective login. The codes should be
uploaded on either the local server, Moodle, Github or any open source LMS. Print-outs of the
programs and output may be taken but not mandatory for assessment.
RDBMS Assignments:
For each problem/case study, the student must design the database model in the form of an E-R
diagram. Table design should be based on the same and must include proper constraints and
integrity checks. The students have to create, populate the tables and then perform the activities
specified in each of the assignments. A separate softcopy of the table creation statements and
queries must be maintained for each assignment.
Assessment
Continuous assessment of laboratory work is to be done based on overall performance and lab
assignments performance of student. Each lab assignment assessment will be assigned
grade/marks based on parameters with appropriate weightage. Suggested parameters for overall
assessment as well as each lab assignment assessment include- timely completion, performance,
innovation, efficient codes and good programming practices.
Operating Environment:
For ‘C’ Programming :
Operating system: Linux
Editor: Any linux based editor like vi, gedit etc.
Compiler : cc or gcc
For DBMS:
Operating System: Linux Operating system
DBMS: PostgreSQL 11 and higher
Language: PL/SQL
Assignment 3 : Cursors
1) A Simple Cursor
2) A Parameterize Cursor