بسم الله الرحمن الرحيم
هذه معلومات عن جامعة الاحقاف في اليمن
وهي جامعة جيدة نسبي
Faculty of Engineering and Computer Science
Computer Science Course Description
COS 101 Introduction to Computing (2-2-3)
Overview of computer Hardware and Software. Hardware : storage media, CPU, memory, I/O devices. Software : Dos operating system. Data representation . Programming in BASIC with emphasis on modular and structured programming technique . Problem solving and algorithm development .
COS 102 Introduction to Programming (3-2-4)
Problem solving. Introduction to a typical programming language, using C++. Basic data types, Control structure , Function,Arrays, Pointers and strings. Simple algorithm development.
- Suggested Lab work (Closed Lab)
Programming assignments to exercise the use of various features of the programming language taught in the course. This may include implementing numerical algorithms such as finding the average, standard deviation, etc., as well as non-numerical algorithms such as basic sorting and searching methods.
COS 201 Introduction to Computer Science (3-2-4)
Model of computer. Man-machine interaction and user interfaces. Problem solving concepts and strategies. Iterative and recursive solutions to various problems. Records and files. Searching and sorting techniques. Dynamic data structures.
- Suggested Lab work (Closed Lab)
Programming assignments to practice different problem solving strategies, with emphasis on modular programming. Solving basic problems using static and dynamic data structures. Solving various problems using iterative and recursive methods.
COS 202 Data Structures (3-1-3)
Basic data structures. Static and dynamic data structures. Abstraction and Abstract Data Types (ADT). Time and space requirements of various implementations of ADTs. Space/time trade-offs. Queues, stacks, trees and graphs. Implementations of tree and graph traversals. Height balanced trees, binary trees , b+ trees. Heaps. Storage management. Hashing techniques.
-Suggested Programming work
Programming assignments for applications that use data structures studied in class. The use of the abstract data types concept in programming is stressed.
COS 203 PC Applications (2-2-3)
Introduction to PC software . Topics will include PC operating system , editors and word processing , spreadsheets , and database software , internet essentials . The course will focus on the interdisciplinary application of computer .
COS 232 Computer Organ. and Assembly Prog. (3-2-4)
Computer organization. Data and instruction representation. ASCII code. Binary and Hexadecimal number systems. Assembler directives versus machine instructions. Keyboard input and screen output. Instruction formats and types. Conversion between ASCII strings and binary numbers. Stack operations. Debugging. Interrupts. Macros. Video output. Disk I/O.
COS 252 Discrete Structures (3-1-3)
Combinatorics: permutations, combinations, pigeon-hole principle, counting techniques. Recurrence relations, generating functions. Graphs. Introduction to computation models: languages, grammars and machines. Chomsky hierarchy.
COS 311 Programming Languages (2-2-3)
Concepts of Programming languages: Syntax and semantics. Data types. Control structures. Sub-Programs. Exception handling. Run-time Storage Management. Programming Paradigms: Imperative, functional, logic, object-oriented, and concurrent.
COS 312 Software Engineering (3-2-4)
The software development process; Software requirements and specification; Software design; Software verification and validation; Software management; Software tools.
- Suggested Lab work (Open Lab)
A team project in which students are divided into teams of 3 or 4 students each. Each team is given the requirements for a small size software to be delivered by the end of the semester by applying the waterfall model. Team work concepts should be stressed. The leader position is rotated among members of the same team at different phases of the project.
COS 314 Object-Oriented Programming (2-2-3)
Concepts of Object-oriented Programming. Programming in an object-oriented language such as C++/Java . Tools and class libraries. Object-oriented Software Development.
COS 316 Compiler Construction (3-1-3)
Compiler techniques and methodology. Organization of compilers. Lexical and syntax analysis. Parsing techniques. Object code generation and optimization, detection and recovery from errors. Contrast between compilers and interpreters.
COS 331 Systems Software (2-2-3)
Systems software and its relationship to machine architecture. Design of Assemblers, Loaders, Linkers and Macroprocessors. Device drivers. Editors. Debuggers. Brief introduction to operating systems and compilers.
COS 332 Computer Graphics (2-2-3)
Applications of Computer Graphics. Graphics systems and devices. Output Primitives. Attributes of Output Primitives. Two-Dimensional Transformations. Windows to Viewport Mapping and Clipping. Graphical User Interfaces and Interactive Input Methods. Two-Dimensional Object Representations. Three-Dimensional Object Representations. Three-Dimensional Graphics.
- Prerequisite:
COS 202
COS 334 Database Systems (3-1-3)
Basic database concepts. Conceptual modeling. Relational data model. Relational theory and languages. Database Design. Database security and integrity. Introduction to query processing and optimization. Introduction to concurrency and recovery.
<H5 style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; LINE-HEIGHT: 150%" align=left>-Suggested Project work</H5>
Students work in small teams to design and implement real life database systems. students use ER diagram for conceptual modeling. For implementation, students learn and use an appropriate relational database management system. Students may also implement, using some procedural language, the Select and Join relational operators.
- Prerequisite:
COS 202
COS 336 File Processing (3-1-3)
External storage devices. Sequential, Indexed Sequential and Direct file organizations. Tree-structured, multilist, inverted, cellular multilist, and hybrid file organizations. File systems. External sorting and merging. The Protection problem. Introduction to Database systems. The course includes implementation of a number of file systems using the COBOL language.
- Prerequisite:
COS 202
COS 351 Design and Analysis of Algorithms (2-2-3)
Introduction to algorithms and review of data structure; Time and space analysis; Algorithm design techniques: divide-and-conquer, greedy algorithms, dynamic programming, search and sort techniques; NP-complete problems and approximation algorithms.
- Prerequisites:
COS 202
COS 352 Automata and Lang. Translation Sys. (3-1-3)
Introduction to languages, machines, grammars and translating systems. Chomsky hierarchy. Properties of regular, context-free and context-sensitive languages. Pumping lemma. Finite state, pushdown, linear-bounded automata and Turing machines. Linear, context-free, context-sensitive grammars. Introduction to parsing techniques and computational complexity.
- Prerequisite:
COS 252
COS 354 Theory of Computing (3-1-3)
Review of Chomsky hierarchy. Various models of effective computability-Turing machines, recursive functions. Church's thesis. Godel numbering. The Halting problem and Post correspondence problem. Decidability. Complexity theory-Time and space hierarchies.
- Prerequisite:
COS 252
COS 382 Artificial Intelligence (3-1-3)
Introduction to the types of problems and techniques in Artificial Intelligence. Problem-Solving methods. Major structures used in Artificial Intelligence programs. Study of knowledge representation techniques such as predicate logic, non-monotonic logic, and probabilistic reasoning. Examples of expert systems. Introduction to natural language understanding and various syntactic and semantic structures. Expert systems. Introduction to computer image recognition.
- Prerequisite:
MATH 232
COS 398 Summer Training (0-0-0)
The aim of the summer training is to provide students with direct on-the-job experience working with professionals in the field. This training provides an opportunity to expose students to the reality of professional practice. Students are required to submit a report and make a presentation on their summer training experience and the knowledge gained.
Prerequisite: ENG 301 and approval of the department .
COS 411 Senior Project I (0-3-1)
The student will work on an applied project designed to develop his interest in some application of computer technology to a real life problem. Student is expected to submit a written report at the end of the project
- Prerequisite: As required by the project.
COS 412 Senior Project II(1-4-3)
The student will work on an applied project designed to develop his interest in some application of computer technology to a real life problem. Student is expected to submit a written report at the end of the project.
- Prerequisite:
COS 411
COS 431 Data Comm. & Computer Networks I (3-2-4)
The ISO model. Basic data communication concepts. Physical layer. RS-232 interface. Data link layer. Sliding window techniques. LAN medium access protocols: CSMA/CD and token passing. LAN hardware and standards: Ethernet and Token Ring. Network and transport protocols. TCP/IP. Internetworking devices: bridges and routers. Network programming.
- Suggested Lab work (Open)
Low level programming of the RS-232 interface. High level programming using NetBIOS or Sockets. Use of LAN analysis tools.
- Prerequisites:
COS 232
COS 432 Data Comm. & Computer Network II (3-1-3)
Studying and investigating the operations of the 7 layers of the ISO Model. The data link layer, error detection and correction, elementary data link protocols, sliding window protocol, network layer design issue, connection management, session layer design issue, remote procedural call, the presentation layer, abstract syntax notation, the application layer, file transfer, access and management, electronic mail (Lectures, Lab).
- Prerequisite:
COS 431
COS 433 Operating Systems (3-2-4)
History and evolution of operating systems. Types of operating systems. Case histories of significant operating systems. Processes, inter-process communication, process coordination and synchronization. Process scheduling. Memory management. File systems. Security and protection. Case operating systems.
- Suggested Lab work (Open)
The course includes both programming and non-programming assignments and projects.
- Prerequisite:
COS 232.
COS 435 Advanced Database Systems (3-1-3)
Advanced data models. Conceptual Database design. Concurrency control techniques. Recovery techniques. Query processing and optimization. Integrity and security. Client-server architecture. Distributed database systems. Current trends in database systems.
- Prerequisite:
COS 334
COS 471 Parallel & Distributed Processing (3-1-3)
Distributed systems (multiprocessors, multicomputers, computer networks). Distributed processing (concurrency, synchronization, and cooperation). Parallel processing. Vectorization. Systolic processing. Parallel programming languages. Distributed operating systems. Case studies.
- Co-requisite:
COS 433
COS 481 Neural Networks (3-1-3)
Neuron. Perceptrons. Back propagation. Counter propagation networks. Hopfield model. Kohonen model. Statistical methods. Associative memory. Adaptive resonance theory. Cognitron and recognition. Applications of Neural Networks.
- Prerequisite: Senior Standing
COS 482 Natural Language Understanding (3-1-3)
Basic Linguistics. Morphological analysis, syntax, semantics. Parsing techniques: Transformational Grammars. Transition Networks. Semantic Networks. Representation of knowledge. Sentence generation. Design of Natural Language Systems.
- Prerequisite: Senior Standing.
COS 483 Computer Vision (3-1-3)
Vision perception and visual illusion. Edge detection. Primal sketch. Line-drawing interpretation. Shape from shading. Stereopsis. Shape from contour. Texture. Motion perception and optical flow. 2.5D and 3D maps. Object representation. Object recognition.
- Prerequisite:
COS 382
COS 484 Arabization of Computers (3-1-3)
Introduction. Arabic Language Characteristics. Arabic Character Sets. Standardization. Arabic Characters for Screens and printers. Arabization Systems. Arabic Software tools, and programming languages. Introduction to Arabic Computations. Projects in specific discipline using available tools.
- Prerequisite: Senior Standing.
COS 485 Knowledge Based Systems (3-1-3)
Overview of Artificial Intelligence. Architecture of expert systems: including the structure of knowledge bases and the various knowledge representations methods, inference engines and reasoning techniques, search and exploitation of domain specific knowledge through heuristics, knowledge acquisition. Discussion of examples of expert systems shells, their capabilities and limitations. Projects in specific discipline using available shells.
Prerequisite: Senior standing.