Basic Knowledge List for CS/CSE Freshers

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.