The course covers basic concepts in modern computers and their applications. Course topics include components of a computer, computer networks and Inter, computer software, categories of computers, computer applications in society, computer ethics and security, and so on. Homework and projects include Microsoft Windows, Microsoft Office (Word, Excel, and PowerPoint), webpage design and multimedia applications. Prerequisite: MA-085 a-b or MA-089 or math placement (higher than MA-085b or MA-089) or consent of instructor.
This course introduces high level computer programming languages with emphasis on program design, coding, debugging, testing, and proper documentation with applications. Prerequisite: CS200, MA161a/MA165 with a "C" or higher or consent of instructor.
This course introduces problem-solving methods by using an object-oriented programming language. Topics include data types, decisions and loops, objects and classes, arrays and array-lists, algorithms and methods, encapsulation and polymorphism, inheritance and interface, graphical user interfaces, and exception handling. Prerequisites: CS200 and CS201; or consent of instructor.
The course covers the following concepts: Basic data structures; graph, search paths and spanning trees; algorithm design and analysis of sorting, merging and searching; memory management, hashing, dynamic storage allocation; integration of data structures into system design. Prerequisite: CS202 or consent of instructor.
This course covers the organization and structure of the major components of a modern computer: combinational circuits, sequential circuits, simulation of circuits, coding, computer organization and architecture, including a detailed study of a micro-computer or minicomputer and the use of Assembly language. Prerequisite: CS202 and CS303, or consent of instructor.
This course covers the following concepts: Definition of file components, access methods and file operations; algorithms for efficient implementation of data structures; characteristics of bulk storage media for mainframe and microcomputer or minicomputer; introduction to database management systems. Prerequisite: CS202 or consent of instructor.
This course covers the following concepts: Operating system history and services; file Systems; memory management; process Management-concurrent processes, communication, Semaphores, monitors, deadlocks; resource Management processor and disk scheduling; Security and protection systems. It meets for Three hours lecture weekly. Prerequisite: CS-202, CS-303 or Consent of instructor.
This course is an in-depth analysis of one or more operating systems, system data structure, hardware architecture, interrupt handling. Other topics may include parallel hardware architectures and performance analysis. Prerequisite: CS202 CS303 and CS305, or consent of instructor.
This course introduces students tot eh societal and ethical obligations of computer science, information technology, and electrical/computer engineering practice Topics include obligations of professional practice, electronic privacy, intellectual property, ethical issues in networking, computer security, computer reliability, and whistleblowing. Prerequisite: Junior standing.
The course examines general concepts of programming languages; scope and binding rules, applications and implementation of language concepts, including the study of two or more of the languages: ADA, ALGOL, PL/1, MODULA-2, SNOBOL, LISP, C and PASCAL. Prerequisite: CS202 and CS303, or consent of instructor.
This course introduces the fundamental constructs of programming languages and principles of translation. Topics include history of programming languages, various programming paradigms, language design issues and criteria, and a formal method of describing syntax and introduction of lexical and syntax analysis. Prerequisites: CS-373 and CS-375 with grade C or higher.
The course will study the introductory concepts in operating systems: historical development of batch, multi-programmed, and interactive systems; virtual memory, process, and thread management; interrupt and trap handlers, abstraction layer, message passing; kernel tasks and kernel design issues; signals and inter process communication; synchronization, concurrency, and deadlock problems. Prerequisite: CS-375 with grade C or higher.
This course includes 3 lecture hours and 1 hands-on experimental hour. The course covers basic concepts and industrial principles of data communication and computer networks, OSI and TCP/IP protocols and Standards, data and signals, distributed computing; local and wide area networks. The experimental hour covers the hand-on knowledge and real-world skills for Network Administrators of Windows, Unix/Linux or Novel Netware networks systems. Prerequisite: CS-202 and CS-360, or consent of instructor.
This course introduces the general principles of computer and network security from an applied viewpoint. Includes physical security, operating system, security, network security, database security, web security, cryptography and so on. Students must present hand-on labs in computer and network securities. Prerequisite: CS-315 CS-360 Cs-403 with a C or better; or consent of Instructor.
Systems Analysis and Design describes a well-defined process for developing information technology, people, and data resources to support business goals and requirements. Prerequisites: CS-315,CS-365 CS-380, CS-403 or consent of instructor.
This course is a study of selected topics in computing and information systems, such as computer graphics, computer modeling, information modeling, software engineering, design and analysis of software. With different subject matter, it may be repeated for credit. Prerequisites: Junior/senior level standing in computer science CS202 and CS303, or consent of instructor.
This is a project-oriented course in computer science for seniors. All projects will be chosen by students or assigned by the professor. This guided work will be supervised by a qualified professor or project director. Students need to submit project reports at regular intervals.
This course provides senior students a whole-semester internship opportunity. Students can obtain practical training experiences in the fields of computer science or computer information systems, such as computer networks, database management, computer system management, and software design and implementation. During the semester, students work in a technical or professional area under the supervision of an expert in the field. Prerequisite: C or better in CS315, CS360 and CS403.