- Teacher: Dr. Md. Mazibar Rahman
Course Overview
There is no content in this section.
To add content, click on the above link ‘Edit course text’
Course Content
Enrolment options
Latest Courses
This course will give you the basic background, terminology, and fundamental concepts that you need to understand in order to build modern full stack web applications. A full-stack web developer is familiar with each "layer" of the software technologies involved in a web application, including data modeling and database technologies, the web server environment and middleware components, network protocols, the user interface, and basic visual design and user interaction concepts. In this course, we will learn by doing. We will start by learning the major components of web application architectures, along with the fundamental design patterns and philosophies that are used to organize them. You will build and continually refine a fully functional full-stack web application as we progress through the modules in this course. Along the way, you will be exposed to agile software development practices, numerous tools that software engineers are expected to know how to use, and a modern web application development framework.
The increasing importance of software-intensive systems in industrial projects as well as the need to bring more innovative, more individual, and more comprehensive systems to market and the need to do so quicker, better, and with a higher level of quality calls for efficient requirements engineering. Complete requirements free from defects are the basis for successful system development. Potential risks have to be identified during requirements engineering and must be reduced as early as possible to allow for successful project progress. Faults and gaps in requirement documents must be discovered early on to avoid tedious change processes. This course will focus on common practices to provide resources for requirements engineering. In addition, there course will assist students to understand the role of the requirements engineer and comprises a series of demanding activities. Why perform requirements engineering? According to the figures reported in the Standish Group’s Chaos Report of 2006, much has improved in the execution of software projects in the twelve years between 1994 and 2006. While about 30 percent of the software projects investigated in 1994 failed, it was a mere 20 percent in 2006. The number of projects that exceeded time or budget constraints significantly and/or did not meet customer satisfaction dropped from 53 percent to 46 percent [Chaos 2006]. Jim Johnson, chairperson of the Standish Group, names three reasons for the positive development of the figures since 1994. One is that the communication of requirements has much improved since ten years ago. These figures are of importance since how the requirements of a system are handled is a significant cause for project failures and/or time and budget overruns. The significance of good requirements engineering The increasing importance of software-intensive systems in industrial projects as well as the need to bring more innovative, more individual, and more comprehensive systems to market and the need to do so quicker, better, and with a higher level of quality calls for efficient requirements engineering. Complete requirements free from defects are the basis for successful system development. Potential risks have to be identified during requirements engineering and must be reduced as early as possible to allow for successful project progress. Faults and gaps in requirement documents must be discovered early on to avoid tedious change processes.
Welcome to Data Structure Course As data structure is a scheme for data organization so the functional definition of a data structure should be independent of its implementation. Welcome this course. Why we need to learn Data Structure ? Data Structure can be defined as the collection of data objects which provides a way of storing and managing data in the computer so that it can be used. Various Data Structures types are arrays, Linked List, Stack, Queue, etc. Data Structures are widely used in almost every aspect of Computer Science for simple as well as complex computations. Data structures are used in all areas of computer science such as Artificial Intelligence, graphics, Operating system etc. Data Structures are the key part of many computer algorithms as they allow the programmers to do data management in an efficient way. A right selection of data structure can enhance the efficiency of computer program or algorithm in a better way. Prerequisites: C Programming
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.