This post will discuss Semester 3 and Semester 4 subjects in some details so that you can better utilize your time studying with right perspective. Also at the end of this post you can download S Y BSc IT Syllabus pdf which will cover entire second year curriculum program.
Subjects in Semester III
-
Logic and Discrete Mathematics
-
This subject will illustrate basic but important concepts in discrete mathematics such as set theory, graph theory which are essential in understanding various concepts in computer science such as network topology, social graphs etc. LDMS will also cover combinatorics up to certain extent which will help you in understanding data structures, different computation logics. Unfortunately BSc IT folks underestimate role of mathematics in computer science which leads to inefficient applications. So do not rest on your laurels of applications and give careful attention to mathematics.
-
Computer Graphics
-
Computer graphics is huge in itself because there are various advancements going on in this field. This subject covers history of computer graphics from different display devices such as bulgy CRT to flat panel displays. It also covers basic fundamentals in computer graphics such as different transformations (2D and 3D), algorithms etc. Here once again you can appreciate power of mathematics in form cartesian plane, coordinate systems which gave us power to manipulate pixels in most efficient manner. The practical work includes writing C based programs to implement different graphics algorithms, creating simple animations etc.
-
Advanced SQL
-
In previous semester you learned basic database fundamentals and also written some basic SQL queries in MSSQL. Advanced SQL is next step to be taken in the world of database where you can not only write simple database queries but also programming instructions that can let you manipulate data in database by performing arithmetic operations, text processing, decision making, iterating etc which is requirement of todays software applications. In this subject you will use Oracle in theory as well as in practicals to write PL/SQL which is what procedural instructions are.
-
Object Oriented Programming with C++
-
You have learned procedural C++ programming in first semester so this subject is extension to that which will expose you to object oriented way of looking at problems and writing programs in C++. This will not alter procedural programming paradigm rather procedural programming is subset of object oriented programming also known as OOP. This is very radical approach towards looking at problem but effective enough to solve them efficiently. I will implore you to read book that will introduce you to OOP in palatable way so i recommend reading Let us C++ by Yashwant Kanetkar or equivalent but key to grasp concept is writing programs in object oriented manner and writing more and more programs in object oriented manner. If I may put my two cents in, colleges will not bother whether you are learning OOP in right manner or not it is your own responsibility to explore nooks and crannies of Object Oriented Programming. Almost all modern languages are object oriented and by every probability you will use them in future so get used to it.
-
Modern Operating Systems
-
As name suggests this subject will introduce you to the intrinsic working of operating systems and you will be amazed by learning how complex but efficient modern operating systems are. This subject will cover brief history of operating systems, how operating system manages multiprocess and memory. You will also learn different file systems and how operating system incorporate different file systems in it. At the end you will learn how input and output operations carried out and last but not least why modern operating systems are secure and robust. As this is theoretical subject i will urge you to install modern free and open source operating system like Linux and understand concepts practically it may sound daunting at first but you will be amazed how much you have learned in very short period. Also at the end of semester you have to create case study so creating case study on Unix like Operating System is itself great opportunity.
Subjects in Semester IV
-
Software Engineering
-
There is big difference between creating software and creating good software and this subject will build that bridge. When you work on big projects where you have to work with team and requirements remain vague then you will find approach presented through this subject quite efficient. I found this IIT Course On Software Engineering very useful and i implore you to take it. But to be honest giving theoretical exam on this subject where they expect you to remember lot of things in very short time is unnecessarily cumbersome. But key is to understand concepts pragmatically which will increase your wit in the world of software.
-
Multimedia
-
We are not bounded by communicating using text anymore and there are various media by which we communicate with each other. But at the core they are driven by technology and understanding it distinguishes you from mere layman consumer. So this subject introduces you to Multimedia, how digital world bring changes in analog communication, how various multimedia generating equipment works such as scanner, cameras, displays etc. Also how different algorithms have leveraged multimedia applications. This subject has mini project work which will expose you to practical way of looking at multimedia by getting hands on with advance softwares to create some applications.
-
Java and Data Structures
-
This subject introduces you to Java programming and how to efficiently handle data through different data structures. In previous semester you learned object oriented way of dealing with problems through C++. As Java is also object oriented you will find it easy to grasp however syntax is what you need to get use to. But this is not all in this subject the important part is understanding data structures. Whenever you deal with any kind of data, Storing, Retrieving and Manipulating data in most efficient manner is important and that is when you need appropriate data structure. Unfortunately this subject covers data structure through Java; since you first need to get familiar with Java Programming syntax and other Java features ultimately you end up dedicating very less time to data structures. In my opinion this subject should have carried out using C++ so that you could have dedicated entire semester to data structure. To mitigate this problem i will suggest you to learn Java in Semester 3 vacation and dedicate entire semester to data structures. Understanding data structures well requires good understanding of at least high school level mathematics so brush it up before getting started with data structures.
-
Quantitative Techniques
-
Have you ever wondered how much insight data can give about world ? If not this subject will allow you to learn that. In this subject you will statistically look at data to find answers but this is not only what this subject will cover. First you will be exposed to numerical analysis then it goes on explaining concepts like random variables, sampling distribution, regression analysis etc. At the end you will learn linear optimization and graphical solutions to solve problems. This subject also have practical sessions where you can use software like Scilab or Matlab to solve practical problems. Learn this subject carefully, recently i came to know twitter tweets can predict stock market. Amazing isn't it ?
-
Embedded Systems
-
In first year you have learned fundamentals of digital computing and microprocessor and microcontroller. Embedded System integrate concepts of both subjects to create elegant applications. This subject will first introduce to the concept of embedded systems, different hardware and peripherals used in typical embedded system and it conclude with how one can design and program embedded system. This subject has practical sessions where you can use simulation softwares to understand working of typical embedded system, this subject uses C language to write embedded system program. I feel book Go Embedded will be good choice to start with as far as programming part concern.