
Basic Knowledge List for CS/CSE Freshers
University life is the prime time for grabbing knowledge and getting ready for industry. But there has been a misconception that anyone can only be industry-ready only when he/she starts working or has a job. This is not true at all. Undoubtedly, whoever is willing to prepare himself upfront should start at the university or at least immediately around graduation completion.
I want to share the knowledge list, or things good to know, for a CS/CSE fresher. Please note, all the information is my personal opinion based on my experience and courses taken at university. So it can vary from other persons’ opinions.
If you’re a CS (Computer Science) or CSE (Computer Science & Engineering) fresher, there’s a lot you can benefit from knowing early on. Here’s a curated list of skills, tools, concepts, and habits that will give you a strong foundation and help you stand out.
Technical Theoretical Knowledge
Introduction to Computer System
- What is a computer system, and what are the main components of it? Inspect inner beauties.
- How do the core parts — input unit, central processing unit, output unit, and storage unit — work together? Relation and responsibility segregation of each part.
- How do data and instruction interact in these units through different buses like the system bus, etc.?
Knowledge: Should give you insights into a modern computer system and its working mechanism.
Computer Organization and Architecture
- Advanced and low-level knowledge about the computer system structure.
- How a computer system is internally organized and what its internal low-level architecture is?
- How system buses, registers, data, bytes/bits, instructions, machine code, processing, and signals work?
- What is a microprocessor, and how does it work? Its types and evaluations.
- How microprocessing, parallel processing, multitasking, and multithreading work?
Knowledge: Should give you a low-level, hardware-level insights into a computer’s organization and architecture.
Digital Logic Design
- How digital electronics or binary system work?
- Know about number systems, binary systems, number conversion, ASXII code, and 1’s and 2’s complements.
- Know about Boolean algebra, Boolean functions, and logic gates.
- Know about code conversion, combinational logic circuits, and multiplexers.
- Know about registers, counters, sequential logic, flip flops, etc.
Knowledge: Should give you insights about digital electronics, circuits, and binary logic.
Theory of Computation
- How an abstract machine, aka automata solves computational problems?
- How to handle finite states and their transition of a computation?
- What is context-free grammar, language, word/character means, and how do they work?
- What are Moore and Turing Machines, and how do they work?
- How regular expressions work using automata evaluation?
Knowledge: Should give you insights into how an abstract machine works and solve computational problems.
Operating System
- What an operating system means and its responsibility?
- How computer hardware interacts with computer software and users?
- How operating systems manage processes, memory, files, scheduling jobs, etc.?
- How to solve common problems like critical sections, starvation, deadlocks, etc.?
Knowledge: Should give you insights into how hardware is being managed for software or users.
Data and Computer Communications
- What is meant by data communication and how does it work?
- What is the basic model of it and its mechanism?
- How data communicate or transmit from source to destination can be internal and external.
- What is the internet, its architecture, and how does it work?
- Protocols, its layered and working procedure, etc.
Knowledge: Should give you insights into data being transmitted or communicated from the source device to the destination device.
Computer Networking and Security
- What are networks/computer networks, and the internet and how does it work?
- Types of computer networks and how two devices connect and share data?
- Different types of computer network architecture and their working mechanism.
- Different networking devices and topologies. transmission modes.
- Data and network security, encoding, decoding, compression, etc.
Knowledge: Should give you insights into how computers are interconnected and share data/information securely in between.
Discrete Mathematics
- How it mathematically represents and works with countable or distinct things?
- Know about set theory, graph theory, probability theory, and their operations.
- Know about relations, functions, algorithms, logic & propositions, Boolean algebra, and their representations.
- Know about some principles and their mathematical representations, proofs, etc.
Knowledge: Should give you insights into how distinct worlds can be mathematically represented and important logical thinking.
Statistics and Probability
- How we can analyze data or numbers statistically and systematically?
- How we can mathematically represent the stats of data?
- How we can mathematically calculate the possibility of an event?
- What are the proven theorems or ways of doing such thing?
Knowledge: Should enable you to think data, stats, and possibilities in a proven mathematical manner.
Core Technical Knowledge
Programming Language (C/C++)
- What is a programming language, and why is it important?
- Learn one programming language, mainly procedural programming; C is recommended.
- Learn to write code and give instruction to the computer.
- Learn the core parts of a programming language, aka programming.
Knowledge: You should be comfortable with the basic programming knowledge and writing codes.
Object Oriented Programming (OOP)
- What is OOP, and why is it important?
- What are the main parts of OOP?
- Learn one OOP language; C++ is recommended.
- How a real life entity is coded using OOP principles?
Knowledge: Should enable you to code real-life programs or software using OOP principles.
Data Structure (DS)
- What is DS, and why is it used, and why is it important?
- What are the most used DS, and how do you implement and use them?
- CRUD operation implementation and time and space complexity of them.
Knowledge: Should enable you to have a new dimension of thinking about store data when programming.
Algorithm Design
- What is an algorithm, and why is it used, and why is it important?
- What are the most used algorithms, and how do you implement and use them?
- Implementation and time and space complexity of them.
- Know when to use what algorithm and why.
Knowledge: Should enable you to have a new dimension of thinking about programming and problem solving.
Database Management System
- What a database and database management system are?
- What do relational and non-relational databases mean?
- What is sSQL, and how do you use it?
- Practical query knowledge and administrative knowledge of a DB.
Knowledge: You should be comfortable with the database query and its use.
Software Engineering
- What software engineering is, and why it is important?
- What is SDLC, and what are the steps of SDLC?
- Different types of models for development.
- Tools and tricks for ideal software engineering process completion, etc.
Knowledge: You should have a basic understanding of software engineering and a hands-on intermediate-level software creation experience.
System Analysis and Design
- What system analysis is and system design means?
- What are the elements of a system and their importance?
- Understand the system development life cycle.
- System analyst and his role.
- Different design strategy.
- Different tools and design methodology of system design.
Knowledge: Should enable you as beginner-level system designer and enhance your design thinking.
Web Engineering
- As the majority of software becomes web-based, so you should know about web engineering.
- What is the web, and how does it work and operate?
- How web browsers and DNS or other web components work?
- Know about web technology and tools.
- Security on the web for making robust web apps, etc.
Knowledge: You should have a decent understanding of modern web technology and its components.
Soft Skills
Technical Writing and Communication
- How to write effectively? It can be resume, documentation, a letter or an email.
- How to communicate with a teammate, client, or people?
- How to avoid bad and negative things when communicating?
- What effective writing and communication mean, and how we can do that, etc.?
Knowledge: You should be good enough at writing things like resumes, emails, cover letters, etc.
Presenting to People
- How to pass messages to people?
- How to create a good presentation effectively.
- How to present something to somebody.
- How timely you present everything you want to present, etc.
- Increase your networking. You can use LinkedIn, meetups, tech clubs, etc.
Knowledge: Should enable you as a decent presenter or message deliverer.
Problem Solving, Programming Contest, Hackathon
- How to identify and solve problems, both technical and non-technical?
- How to adopt and do teamwork?
- How to grow a competitive mindset?
- How to approach problem, solution, competition, etc.?
Knowledge: Should make you a problem solver, team player, and competitor.
Develop Productive Habits
- Take clear notes (digital or handwritten)
- Learn how to Google effectively. Start using the LLMs like: Chatgpt, Bird, Claude, Github Copilot, etc. (But not just copy, should understand properly)
- Ask for help on forums (Stack Overflow, Reddit, etc.)
- Collaborate with peers – study groups work!
- Manage time using tools like Notion, Trello, or simple to-do lists.
Knowledge: Should teach you discipline and productivity.
Tools Every CS Student Should Know
- Git & GitHub: Version control is essential.
- Linux Basics: Command line navigation, shell scripting.
- Text Editor/IDE: VS Code, Sublime Text, IntelliJ, etc.
- Compiler/Interpreter: Know how to run your code outside an IDE.
- Package Managers: pip, npm, apt, etc.
In this new era of AI, you can easily learn these concepts or topics. Do you want to add something? Or wants to share your feedback. Please feel free to comment.