Computer Software Laboratory

Introduction:

This laboratory is satisfying the need of experiments required, the laboratory also provides research facilities to help undergraduate students prepare their graduation projects and graduate students prepare their graduation theses.

 

Location

Room C408, at the 4th floor of Block C.

 

Courses:

CN106, Network Programming

LP002, Data Structures and Algorithm Analysis

CS108, Advanced Database Systems

 

Descriptions:

Network Programming course introduces fundamental principles for TCP/UDP socket programming. The goal of this course is to learn how to develop simple, efficient, and portable network applications (such as chat and web browser) over TCP/IP protocols in Unix/Linux environments. Topics include basic TCP/UDP socket, message construction, socket options, signaling, nonblocking I/O, multitasking, multiplexing, and multiple recipients.

computer-software 2

 

Data Structures and Algorithm Analysis course introduces some basic data structures and algorithm analysis skills. The goal of this course is to learn the method of organizing data and estimating the running time of algorithms when they develop programs. Topics include representation and implementation of abstract data types (such as list, stack, heap, queue, hash-table, binary tree, and graph), elementary algorithm analysis skills, recursive techniques, and sorting algorithms.

computer-software 3

 

Advanced Database Systems course provides students with a general knowledge of the more advanced database subjects. The analysis, design, administration and the technical skills required to program a database solution will be covered with the popular database management systems. Students can learn the use of the database software through the exercises of SQL Server, and learn the software development by using Visual Studio.

computer-software 4

computer-software 5

 

Operating Systems Experiments course will introduce the basic design principles and implementation techniques of operating systems to students by offering several small labs and a programming project. Following the guidance and instructions, students should be able to implement the following fundamental parts of a typical operating system (such as Unix/Linux): (1) a simple job (process) scheduler, (2) a simple memory management system, and (3) a basic file system. In particular, students will use their SSH clients such as PuTTY to connect to a Linux server to complete their labs and programs.

computer-software 6