
- Teacher: Tanzim Hossain
There is no content in this section.
To add content, click on the above link ‘Edit course text’
Welcome to Theory of Computing Course! This course has been designed for students pursuing a degree in any information technology or computer science related field. It attempts to help students grasp the essential concepts involved in automata theory. Learn Aotomata Theory- Simply easy learning Automata Theory is a branch of computer science that deals with designing abstract selfpropelled computing devices that follow a predetermined sequence of operations automatically. An automaton with a finite number of states is called a Finite Automaton. This is a brief and concise course that introduces the fundamental concepts of Finite Automata, Regular Languages, and Pushdown Automata before moving onto Turing machines and Decidability. Prerequisites: To enter this course you need to have those following topics idea - This tutorial has a good balance between theory and mathematical rigor. The readers are expected to have a basic understanding of discrete mathematical structures.
Welcome to the Operating System and System Programming Lab course. This course introduces about the tools used to develop modern operating systems (OS). The focuses of this course is UNIX-based operating systems, though alternative operating systems, including MS Windows are introduced. This course is divided into two parts. The first part is about GNU/Linux command line interface. Where around 50 important commands are exercised. The second parts is about GNU/Linux application programming interface. In this part the creation and control of processes and threads are practiced. The cooperative process resource share management system and some advanced topics in the field of concurrency (synchronization, mutual exclusion, deadlock, starvation), memory (both primary and secondary) management and input/output file organization are practiced.
Operating System is the only thing that makes your life easy to adapt with latest hardware technologies such as desktop, tablet, phone, etc. It is an interface between hardware and you. It is like a huge collection of program that manages all the other programs and hardware on a computer. There are lot of process/program running behind your eye which are the great contribution of developers to make a desktop/laptop/tablet/phone etc. user-friendly. Think of OS as knowing how a car works, which surely you won't need to drive the car. But it will be helpful when you get into trouble while driving. Knowledge of OS will be very useful if you want to pursue career in Computer technology. In such case, you can find yourself in situations where the problem will be closely tight with the operating system/box you will be using. Before completing your software, knowledge of OS will help you to code the application, because the developed code may affect the hardware. The available ways to learn this course you should get the knowledge on process communication, synchronization of threads, file open/write permission error, so on. Even in programming languages/platforms where there is a significant distance from the OS, like Java or Python. OS will be helpful in knowing the intended behavior of the library or method you will be using.