Computer Architecture is a very important course. It is mostly numerical and it is crucial to have a good hang of problem solving to ace this course. Don't leave anything to the last day and keep solving a lot of questions.
Operating Systems is also another important course. Again, problem solving is very important in the course.
Be thorough with the topic given in the book before every class. Worship this site OS
Probability and Statistics is a mathematics course. It is essential to understand the concepts of Statistics like c-value, etc. Keep solving questions and this course will be like a breeze.
Database and Management Systems
Database and Management Systems is a compleletely application-based course. It will have an enormous syllabus (over 30 slides ) and will require rote learning. Keep good notes and don't leave everything upto the last day. This course also has a project component and it will be better to start off as early as possible. For exams, it will be helpful to go through Sanfoundry
Data Structures is the most crucial course of CS ( and your life :)). Having a good grip over data structures and algorithms becomes crucial in your pursuit of having a dream job, high GATE ranking, competitive programming,etc. For this course, follow this process:
Thoroughly utilise these two sources: Cormen and Geeks for Geeks
Mathematics is a very easy course. Just attend all the lectures, read the book and solve the tutorials.
Physics is the most important course of this semester. It is worth 5 credits which makes it a gamble. Traditionally, students( esp. me) have suffered a lot in Physics exams. A bad grade in this course can mess up your overall grade. To get a good grade, you have to attend all the classes religiously, tutorials and understand every question being taught in the tutorials.
Computer Networks is one of the core Computer Science subjects and plays a huge role in your placement and Gate preparation.It is also very interesting to study and there are a lot of unsolved problems in the field. Tannebaum's book does a fantastic job in explaining all the concepts properly and is significantly useful for people who wish to delve deeper in the subject. For doubts, one can always to refer to Ravindrababu's lucid explanation. Solving the book back questions and attending all labs would ensure a great grade in the course.
Software Engineering is not the core but prepares you for the actual life after the university. Although, it is not important to learn everything by heart here, it is important to understand certain concepts. The humongous material might be an impediment which can be easily conquered through preparation of concise slides as I did here. One can also use flashcards and space repetition techniques to digest the important information before exams. I strongly advise to work hard in projects and try to solve lesser known problems. Good time management is required as the project would require a huge time commitment.
Systems programming was the first elective that I had taken. It is a symbiosis of Electrical Engineering and Computer Science. It also seems familiar to Computer Architecture. It is enjoyable for hardware enthusiasts. I am not sure if this course would be taken again, though.
Artificial intelligence is one of the disruptors in this 21st century. This course gives a basic flavor of AI to students. It is important to study regularly as the concepts are slow to immerse in mind. Some good online courses can be found here. Another great source that I used to revise is this.
Advanced Database Management Systems
Advanced Database Managment Systems along with Networks forms a core subject required in Gate and Interview Preparation. In spite of being offered as an elective, I think that this course is very important in Big Data Analytics and other jobs due to pervasive nature of Databases. For doubts, I referred here and here. I have also put some videos to download from my drive. The best part is that there is no need for rote learning and it is important to have a grasp over the different concepts to crack the exams. This can be achieved through practice of questions from GeeksForGeeks
Signals and Systems is an important course for someone who is interested in Computer Vision and image processing. It is a basic introduction to signal processing concepts like Fourier analysis,etc. What personally helped me was this Playlist. A better resource can be to study directly from the man himself who wrote the book here.These lectures and practice of the book-back questions should ensure that this course is a breeze.
This semester was light for me. I am not sure it would be the same for your batch. If it is, I strongly recommend completing extra UWE and CCC credits during the same.
Computer Organization forms a precursor to Computer Architecture course which would be taught in the 5th semester. It is a course which lies in the intersection of Computer Science and Electrical Engineering. Being a conceptual subject, it is important to practice the book-back questions thoroughly. I found that the book did good justice in explaining the concepts. As always Ravindra Babu's lectures succeed in teaching the concepts very well. TutorialsPointis another underrated resource which remains untapped. Good grade is predetermined by practice.
Digital Electronics is a heavy 5 credit course which can make or break your grade. Surprisingly, I found it more easier than Physics and more enjoyable too. Never miss the labs and with some practice, you can ensure a good score on the practical exams. Ironically, in the course, the difficulty doesn't lie in the difficulty of the exams but is more towards time management. It is important that your concepts are crystal clear and time is taken care off. Surprise tests ensured that everyone was on their knees. I found the lectures were good enough. For revision, I used Neso Academy. Since it has such high credits, I suggest that one attends all the classes and labs of this course and practices regularly.
Discrete Mathematics forms the basis of Graph Theory and teaches some important number theory techniques which might be helpful for CAT and other aptitude exams. It will also teach about proofs which is essential in higher level mathematics courses. There are a lot of practice questions and assignment questions which should be enough for this course.
Java is one of the most important coding languages used in the world and offers some unbounded potential to its user. For this course, practice of OOPs concepts is essential which can be found at GeeksforGeeks. If you aren't comfortable with it, you can take this amazing free course. This playlist can help you in the same too. You should also learn how to use the documentation efficiently. The only issue that I had faced is management of time for the project. I recommend that you learn Java efficiently in this 1 month of time and start brainstorming on project ideas and start working as soon as possible. Try to work on unique prokjects which can solve problems of your life. Cool ideas can be found here and more here
Mathematical Methods is the first Mathematical course which is offered to you. It is a pretty easy course and has a very easy grading scale too. It shouldn't be very hard to get A grades by attending the classes and doing the assignments on time. I stress that one should attend the tutorials as many of the questions solved in the tutorial are directly asked in the paper.
Introduction to programming in C
Introduction to Computer Programming might seem intimidating for someone who doesn't have any coding practice till date. This course does a good job to introducing the basic programming concepts like pointers, recursion, iteration, etc. For doubts, you can refer to this wonderful online course, CS50 by Harvard. You can always ask your seniors, friends in case of doubts.
Electronics is a basic course covering circuits, Kirchoff's law, etc some of which would be familiar to you as a part of your 12th Standard Physics curriculum. I personally found this course slightly difficult. Most of the questions asked in the exams are from the example and book back questions from Boylistad. Tutorial questions are also very useful in giving a taste of the actual exam papers. One can always attend the LASC, ask seniors, TA for doubts.
Physics was the most difficult course for me during my first semester. Inspite of the questions being of the same level as our 11th and 12th standard, I found it really difficult to navigate through the course. I really found NPTEL lectures very useful. Solving Kleppner's bookback and sample questions listed was enough for scoring a good grade. Do attend the LASCs, reach out to TAs or seniors for help!
Software Project management was remarkably less boring and difficult than its predecessors, Software Engineering and Database Management System. This course was taught by experienced people from HCL. It was interesting to hear their perspectives on the methodologies used in Software Project Management. The project here requires an important amount of documentation and time managment is very crucial. The grading is also top notch as it is well scruitinized by HCL panelists. The projects are done in huge groups of 8-10 members giving it a flavour of industry. It is really important to divide the work and complete it regularly. The only caveats that I find about this course are the exams (albeit more easy than Software Engineering) and its weird grading scheme. It was very unclear as to how the grades were given to the different team members of a team. The exam pattern is exactly the same as earlier and it is important to maintain good notes or condensed slides for this subject as well. The questions asked here can be from Software Engineering as well and hence it is important to maintain those notes as well. The MCQs asked here are mostly from Sanfoundry. Sample questions can be seen at SPM End term
Theory of Computation is the only course which is completely theory based and where coding is almost negligent. The thoery might seem a bit of a drag but it is actually very interesting. The only important thing to ace this course is the maintainance of good notes. It will be difficult to get back on track on missing even a single class. Regular practice is important as well. If you have any doubts, refer to this excellent video series by Sir Ravindrababu. Some topics are also well taught by Sanchit Jain like PDA and Turing Machine. Practice questions can be found on GeeksforGeeks
Analysis of algorithms is another course after Data structures and algorithms that can play a crucial role in your placements. Many interviews were circled around the concepts that we learned in this course. It is a continuation of Data structures and it would be a great idea to review all the concepts taught in DS. Also, if you have enough time, it would be a good idea to go through an online course like Algorithms by Princeton or Stanford Algorithms. The books recommended here are: Cormen and Sahni and Horowitz for topics like NP-hard. Most exam questions are based on problem solving and require an adept understanding of the algorithms covered in class. Become really good in one programming language.
Performance modelling like Theory of Computation doesn't have any coding component. It is completely mathematical. This should not undermine the value of this course. Having an indepth knowledge of Probability and Statistics is very important in many fields. Many fields like Artificial Intelligence and Machine learning require a sound understanding of Probability concepts. The course is taught by one of the finest people in the field of Performance modelling. It might be uninteresting and soporific for math-phobic people. Most of the examinations test on the material taught in the class. Having good notes and completing the assignments will ensure a good grade. Grading is very lenient but the classes can feel a bit overwhelming due to the content being covered. If you have chosen this course, it will be a good idea to revise the concepts of Probability from here.Caution: As this is your pre-final semester which will involve many activities like Placements, MBA exam preparation, MS applications, choose your courses with discretion. If you absolutely don't like Math and can't guarantee good time for this course, you will be better off with the other choice of elective.
Internet an Web systems is a pretty light course. We covered fundamentals of web development and networking. The examinations were pretty easy. Reiterating the previous point,note taking is the only way to ace this course. Many of the concepts taught here are important in interviews at startups. Try to complete all labs on time as time will be constrained due to placements and other activities. Good projects done in this course can add up to your resume. Exams test mostly the material taught in class and . Some topics like Chord are covered here: Youtube.
Research methods and computing gives you a taste of research in real life. There are no examinations and all the grades depend on your presentations. Take up an idea in any topic related to Computer Science that interests you. Due to time constraints, it will be better to take up a topic that helps you in your MS applications or interview preparation. Don't procrastinate as there are no examinations and ensure that all the work gets completed by mid-November.
Disclaimer I made this list according to my lectures pertaining to my college course. A lot of things would have changed till the time you see it. Make changes accordingly.
If you have any suggestions for the website, or if you want to recommend other courses, please reach me at Email.