Hack Nirma
π Path to hack Computer Science (BTech) at Nirma University
Contents
- Summary
- Disclaimer
- Prerequisites
- Curriculum
- Exam Preparation checklist
- Important Websites
- Additional Resources
- YouTube channels to subscribe
- Binge Worthy
- Contributing
- Ask for help
- References
Summary
This curriculum was designed to help you with your Bachelor's for computer engineering using online material. The aim is to give you a complete understanding of the field including industry standards and best practices. The goal is not to score high grades although if followed correctly scoring marks will be easy. We have compiled some of the best resources for each domain available freely online.
The courses prescribed are from the top universities and often best in their field and often there are no substitutes. Still feel free to post an issue if you have found a resource that could help us.
Disclaimer
This course was designed by students at Nirma University and cannot substitute a Bachelor's Degree. This curriculum doesn't guarantee good grades or a job. You are solely responsible if you choose to pursue this curriculum or any of the below-mentioned courses.
These courses are in addition to the text prescribed in the syllabus and thus it is very important to read the text first and use these resources in a complementary manner.
Prerequisites
These aren't prerequisites you should be already knowing rather these are concepts which are better if cleared before taking up the regular courses.
-
Introduction to Computer Science CS50 - edX
You don't need to complete the whole course. However, you are expected to complete the course until where it deviates from C and moves on to python. Also if you have the time you can complete the course.
-
Learning How to Learn - Coursera (Optional)
This course teaches you a lot about how your brain works and what are the best memorization techniques. You can skip this if you are confident with your learning skills.
-
Electrical Engineering - Khan Academy
If you need a refresher for core math or science then please go through these videos.
I also made a playlist that has some MS Word Tutorials. These wil come in handy while documenting and researching.
Curriculum
First Semester
Subject Code | Subject | Prerequisites |
---|---|---|
SP105 | ICT Tools and Cyber Security | none |
CE104 | Computer Programming | none |
MA102 | Calculus and Differential Equations | Calculus basics |
ME103 | Engineering Graphics | none |
HS101B | English Communication | none |
CY102 | Chemistry | Organic Chemistry basics |
CL103 | Environmental Studies | none |
CE104 Computer Programming
Theory
Practical
CY102 Chemistry
Theory
MA102 Calculus and Differential Equations
Theory
- Precalculus - Khan Academy
- Calculus - Khan Academy
- Differential Equations - Khan Academy
- Single variable calculus - MIT OCW
CL103 Environmental Studies
Theory
Second Semester
Subject Code | Subject | Prerequisites |
---|---|---|
ME104 | Mechanical Workshop | none |
EE103 | Elements of Electrical and Electronics Engineering | none |
EE104 | Electrical Workshop | none |
CE105 | Introduction to Computer Science and Engineering | none |
MA202 | Linear Algebra | Matrices & Determinants |
PY103 | Physics | Basics of Quantum Mechanics, Ray Optics |
SP104 | Law and Engineering | none |
SP103 | Design Thinking | none |
MA202 Linear Algebra
Theory
CE105 Introduction to Computer Science and Engineering
Theory
- Computer Science - Khan Academy
- Introduction to Computer Science and Programming using Python - MITx edX
Third Semester
Subject Code | Subject | Prerequisites |
---|---|---|
EC321 | Basic Electronics | EEE |
CE301 | Digital Systems | none |
CE302 | Object Oriented Programming | programming |
CE303 | Mathematical foundation of Computer Science | none |
SS342 | ICT Tools and Security | none |
SP343 | Entrepreneurship | none |
SP344 | Community Services | none |
MA306 | Applied Mathematics | Calculus |
EC321 Basic Electronics
Theory
- Analog Electronics Neso Academy - YouTube playlist
- JK smart classes - YouTube playlist (Optional) This is only for beginners who don't have any prior knowledge of the subject.
CE301 Digital Systems
Theory
- Neso Academy - YouTube playlist
- Build a Modern Computer from First Principles: From Nand to Tetris - Coursera
- Digital Circuits - MITx edx
CE302 Object Oriented Programming
Theory/Practical
- Java Tutorial - javaTpoint
- Java Tutorial - Tutorialspoint
- Fork Java - GeeksforGeeks
- Learn Java - Codeacademy
- Java Tutorial - freecodecamp
- Java Programming Tutorials - thenewboston This is only for vert beginners.
CE303 Mathematical foundation of Computer Science
Theory
SP343 Enterpreneurship
Theory/Practical
Fourth Semester
Subject Code | Subject | Prerequisites |
---|---|---|
CE401 | Data Communication | none |
CE402 | Computer Organization | Digital Systems |
CE403 | Data Structures | CP / AOP |
MA403 | Probability Statistics and Numerical Analysis | none |
CE404 | Seminar | none |
CE405 | Mini Project - I | none |
SP341 | Ethics and Values | none |
SS341 | Economics for Engineers | none |
CE406 | Computer Peripherals Workshop | none |
CE402 Computer Organization
Theory
CE403 Data Structures
Theory/Practicals
- Data Structures- GeeksforGeeks
- Data Structures mycodeschool - YouTube playlist
- Data Structures - Coursera
- Data Structures and Algorithms, NPTEL - YouTube playlist
MA403 Probability Statistics and Numerical Analysis
Theory
SP341 Ethics and Values
Theory
-
Introduction to Psychology with Paul Bloom, Yale - Coursera Optional
-
Maps of Meaning, Jordan Peterson Optional
SP341 Economics for Engineers
Theory
- Crash Course: Economics - YouTube playlist
- Macroeconomics - Khan Academy
- Microeconomics - Khan Academy
- Finance and capital markets - Khan Academy Optional
Fifth Semester
Subject Code | Subject | Prerequisites |
---|---|---|
CE501 | Theory of Computation | MFCS |
CE502 | Database Management System | programming |
CE503 | Computer Networks | Data Communication |
CE504 | Operating Systems | AOP/EOP |
IT502 | Web Designing | programming |
SS562 | Law for Engineers | none |
SP501 | Fractional Course | none |
CE505 | Mini Project - II | none |
CE501 Theory of Computation
This is the most abstract and fundamental subject of Computer Science so you might want to pay extra attention to this subject.
Theory
- Ravindrababu Ravula - YouTube playlist
- Neso Academy - YouTube playlist
- Sanchit Jain - YouTube playlist
- Automata Theory - Stanford lagunita(Optional)
CE502 Database Management Systems
Knowledge from this subject will be helpful in most of the applications.
Theory
- Stanford Database Courses- Stanford lagunita
- Knowledge Gate - YouTube playlist
- Gate Smashers - YouTube playlist
Practicals
CE503 Computer Networks
Theory
- Introduction to Computer Networking - Stanford lagunita
- The Bits and Bytes of Computer Networking - Coursera
Practicals
CE504 Operating Systems
This course will be very helpful at the time of interviews and as a CS student, you must have the core concepts clear.
Theory:
Practicals:
IT502 Web Designing
Theory
Practicals
- HTML5 Tutorial - W3Schools
- CSS Tutorial - W3Schools
- JavaScript Tutorial- W3Schools
- Responsive Web Design - freeCodeCamp
- Traversy media - YouTube
SS562 Law for Engineers
Theory
Sixth Semester
Subject Code | Subject | Prerequisites |
---|---|---|
CE601 | Design and Analysis of Algorithms | Data Structures |
IT601 | Software Engineering | OOP |
SS561 | Creativity and Innovation | none |
CE602 | Mini Project- III | none |
SP601 | Capstone Course ( Computer Engineering) | none |
CE621 | Java Technologies (Elective I) | OOP |
CE661 | Mobile Applications Development Technologies (Elective I) | OOP |
IT652 | Network Security and Encryption (Elective II) | none |
IT662 | Cloud Computing (Elective II) | none |
CE623 | Machine Learning (Elective III) | linear algebra, statistics |
CE633 | Data Mining (Elective III) | statistics |
SS701 | Organizational Behaviour | none |
CE601 Design and Analysis of Algorithms
Theory
- Design and Analysis of Algorithms - NPTEL
- Algorithms by Abdul Bari - Youtube playlist
- Algoritms by Ravindrababu Ravula - Youtube
- Steven Skiena - YouTube playlist
- Algorithms: Design and Analysis, Part I - Stanford Lagunita
- Algorithms: Design and Analysis, Part II - Stanford Lagunita
IT601 Software Engineering
Theory
CE623 Machine Learning
If you need a refresher in linear algebra or probability, you can find resources above.
Theory
- Intro to Statistics - Udacity Optional
- Machine Learning, Stanford - Coursera
- Machine Learning Crash Course - Google Developers
- Learning from Data, Caltech - Youtube playlist For beginners
- Introduction to Machine Learning, fast.ai - Youtube playlist
CE633 Data Mining
Theory
- Intro to Statistics - Udacity Optional
- Data Mining - NPTEL
- Learning from Data, Caltech - Youtube playlist For beginners
- Mining Massive Datasets - Stanford Lagunita
Seventh Semester
Subject Code | Subject | Prerequisites |
---|---|---|
IT724 | Artificial Intelligence | none |
IT794 | Compiler Construction | THOC |
CE701 | Interfacing with Microprocessor | none |
CE703 | Open source development lab | none |
SP701 | Practical Training | none |
CE702 | Minor Project | none |
IT7F4 | Deep Learning | none |
IT724 Artificial Intelligence
Theory
- Introduction to Artificial Intelligence - UC Berkley
- Well Academy - YouTube playlist
- Intro to AI - Udacity
- NPTEL Videos by Dr. Dasgupta
- Artificial Intelligence - MIT - Youtube
IT794 Compilers
Theory
IT7F4 Deep Learning
Theory
- Deep Learning by Ian Goodfellow
- Convolutional Neural Networks for Visual Recognition - Stanford
- CNN notes - Stanford
- Deeplearning.ai Course
Practicals
Eighth Semester
Subject Code | Subject | Prerequisites |
---|---|---|
CE801 | Major Project | none |
Project Ideas
- Project Based Learning
- Mega Project List
- Awesome Deep Learning Project Ideas
- open-source-ideas
- Project Ideas - OSIRIS Lab
- Better project ideas - Medium
Exam Preparation checklist
- Complete Syllabus by reading prescribed text or watching videos
- Go through lecture notes
- Solve Tutorials
- Solve previous year's question paper
Important Websites
Additional Resources
At this point, several resources might be repeating themselves but we don't want to miss any.
- Qasim's Drive
- OSSU Computer science
- GitHub RΓ©sumΓ©
- Coding Interview University
- Awesome CS Courses
- developer-roadmap
- A collection of .gitignore templates
- Curated list of awesome lists
- Learn_Computer_Science_in_5_Months
- what-happens-when
- front-end-interview-handbook
- Front-End-Checklist
- python-guide
- Public APIs
- Project Guidelines
- Udacity Nanodegrees
- The System Design Primer
- The Open-Source Data Science Masters
- awesome-flutter
- Every Programmer Should Know
- Papers with code
- Computer Science courses with video lectures
- Data Science Resources
- List of Free Learning Resources
- Best-websites-a-programmer-should-visit
YouTube channels to subscribe
It's quite easy to waste a lot of time on YouTube, subscribe to these channels and you might end up learning something as well.
List
Have an awesome channel name that isn't on the list, feel free to add it to the list.
Binge Worthy
No one likes to study at all times, here are a few TV shows and movies you must watch.
Contributing
If you find a link broken or have better alternative resources you can contribute by submitting an issue or a pull request.
Ask for help
You can directly interact using issues. I may not be able to solve all your problems but I can provide you with the right guidance. You can reach me out at sohelshaikh97@gmail.com