hhhh

Computer Science is a relatively young but an extremely rich and diverse discipline. At one end of the spectrum, computer science may be viewed as the formal study of what can be computed and what resources are required for computation. At the other end of the spectrum, computer science may be seen as the application of hardware, software, and human resources to solve computational problems related to society untouched by computer science. Computer science is present in everything from healthcare, telecommunications, mobile phones, entertainment, transportation and education to advanced weapon systems. The result of this diversity is that a computer scientist must be capable of working with people outside his or her field. In support of this, the Computer Science Program provides its students with a well-rounded education that requires significant course work, in addition to the strong emphasis placed on hands-on experiments, documentation, the presentation of the assigned task, and the ability to communicate properly.

The Computer Science Program at AUST has integrated four main well known certificates in its curriculum; thus, giving students a high degree of productivity and confidence. These certificates are from Cisco, Linux Professional Institute (LPI), Sun, and Oracle.

 

 
 
TOTAL REQUIRED CREDITS FOR GRADUATION (107 credits)
COLLEGE REQUIREMENTS (12 credits)
CODE DESCRIPTION PREREQUISITE CR.
ENG 201 Composition & Rhetoric I ENG 100 OR ENG 200
3
ENG 202 Composition & Rhetoric II ENG 201
3
ENG 205 English Communication Skills ENG 202
3
HMS 201 Active Learning & Research Methodology ENG 001
3
FREE ELECTIVES (9 credits)
CODE DESCRIPTION PREREQUISITE CR.
ENG 200 Writing Skills ENG 001
3
MAT 201 Calculus I MAT 200 OR Placement
3
MAT 202 Calculus II MAT 201 OR Placement
3
BUSINESS REQUIREMENTS (3 credits)
CODE DESCRIPTION PREREQUISITE CR.
ACC 314 Accounting and Financial Analysis ENG 001
3
MATH REQUIREMENTS (12 credits)
CODE DESCRIPTION PREREQUISITE CR.
MAT 204 Discrete Math MAT 202
3
MAT 205 Linear Algebra MAT 202
3
MAT 210 Probability & Statistics For Science MAT 202
3
MAT 315 Numerical Methods MAT 205 & CSI 205
3
CORE REQUIREMENTS (56 credits)
CODE DESCRIPTION PREREQUISITE CR.
CSI 201 Introduction To Computing ENG 000
3
CSI 205 Computer Programming I CSI 201
3
CSI 210 Systems Hardware Fundamentals ENG 000
3
CSI 221 Computer Ethics and Society CSI 201
1
CSI 250 Computer Programming II CSI 205, Co. CSI 250L
3
CSI 301 Theory Of Computation MAT 204
3
CSI 308 Software Engineering and Systems Design CSI 205
3
CSI 316 Database Systems CSI 308, CO. CSI316L
3
CSI 345 Computer Networks CSI 205, Co. CSI 345L
3
CSI 370 Mobile Computing Infrastructure CSI 250
3
CSI 375 Computer Science Internship Junior/Senior Standing
1
CSI 391 Data Structures and Algorithms CSI 250 & MAT 204
3
CSI 402 Operating Systems CSI 391 & CSI 345
3
CSI 409 Computer Programming III CSI 250 & CSI 316
3
CSI 418 Web Programming CSI 250 & CSI 316, CO. CSI 418L
3
CSI 444 System Security CSI 345
3
CSI 468 Cloud Computing & Infrastructure CSI 345
3
CSI 497 Comp. Sc. Senior Project Proposal Senior Standing
1
CSI 499 Computer Science Senior Project CSI 497
3
CSI205L Programming I Lab Co. CSI 205
1
CSI250L Programming II Lab Co. CSI 250
1
CSI316L Database Systems Lab Co. CSI 316
1
CSI345L Computer Networks Lab Co. CSI 345
1
CSI418L Web Programming Lab Co. CSI 418
1
TECHNICAL ELECTIVES (3 credits)
CODE DESCRIPTION PREREQUISITE CR.
CSI 323 Computer Systems CSI 250
3
CSI 395 Special Topics In Computer Science Senior Standing
3
CSI 408 UNIX Fundamentals and Programming CSI 205
3
CSI 410 Artificial Intelligence CSI 391
3
CSI 413 Java for Certification CSI 250
3
CSI 424 VoIP Systems Design & Infrastructures CSI 345
3
CSI 446 Advanced Networking CSI 345
3
CSI 447 Evolution of Mobile Communication CSI 345
3
CSI 450 Compiler Design CSI 301
3
CSI 465 Natural Language Engineering CSI 391
3
CSI 475 Distributed Systems CSI 391
3
CSI 480 Computer Vision CSI 391 & MAT 205
3
CSI 490 Social Networking CSI 250
3
REMEDIAL REQUIREMENTS
CODE DESCRIPTION PREREQUISITE CR.
ENG 000 Intensive English I ENG 00 OR Placement
9
ENG 001 Intensive English II ENG 00 OR ENG000S OR Placement
9
ENG 00A Basic English I Placement
9
MAT 200 Precalculus Placement
3
MAT200X College Algebra Placement
3
BIO 100 Introduction to Biology NONE
3
BIO100L Introduction to Biology Laboratory NONE
1
CHE 101 Principles Of Chemistry I ENG 001
3
CHE101L Principles Of Chemistry Lab NONE
1
DATA SCIENCE EMPHASIS (12 credits)
CODE DESCRIPTION PREREQUISITE CR.
CSI 419 Introduction to Data Science MAT 205 & MAT 210 & CSI 391
3
CSI 429 A Practical Approach to Data Science and Data Visualization CSI 419
3
CSI 469 Machine Learning and Data Mining MAT 205 & MAT 210 & CSI 391
3
CSI 479 Big Data Analytics MAT 205 & CSI 316
3
GAME DESIGN & DEVELOPMENT EMPHASIS (12 credits)
CODE DESCRIPTION PREREQUISITE CR.
CSI 414 Artificial Intelligence for Games CSI 391
3
CSI 470 Introduction to Computer Graphics CSI 391
3
CSI 485 Game Design and Development I CSI 470
3
CSI 486 Game Design and Development II CSI 485
3
MOBILE COMPUTING EMPHASIS (12 credits)
CODE DESCRIPTION PREREQUISITE CR.
CSI 380 Introduction to iOS Mobile Application Development CSI 250
3
CSI 390 Cross-Platform Mobile Application Development CSI 250
3
CSI 471 Advanced Android Mobile Application Development CSI 370
3
CSI 472 Advanced iOS Mobile Application Development CSI 380
3
Course Descriptions
ENG 201
Composition & Rhetoric I
This is the students' first major encounter with critical thinking, reading, and writing. Students are exposed to themes from different disciplines and are expected to discuss them, read and write about them. The essay of all its types is the writing format dealt with in the first half. A research paper, 5-10 pages in length, follows in the second half.
Prerequisite: ENG 100 OR ENG 200
ENG 202
Composition & Rhetoric II
In this course, students are expected to engage in deep critical thinking and to construct written arguments in which they decide on a controversial issue. They are helped to think of argument in terms of having an opinion, voicing it persuasively, and supporting it adequately. Hence, they will be analyzing debatable issues appearing in writing and will be introduced to the elements and structure of argument, including the Toulmin model, the rhetorical situation, the traditional categories of claims, the types of proof, logical fallacies and the Rogerian argument. Reading, critical thinking, and writing are taught as integrated processes. There will be essays for analysis, as well as essay topics for development.
Prerequisite: ENG 201
ENG 205
English Communication Skills
Students' communication competence is enhanced by learning the techniques and strategies of public speaking. No other skills are so closely tied to a student's professional success as communication skills. Using what they have learned in other English language courses, students practice and communicate, guided by the fundamental principles of public speaking, and provided with a forum for applying these principles, through a variety of instructional strategies - discussion, class workshops.
Prerequisite: ENG 202
HMS 201
Active Learning & Research Methodology

This is an introductory course that aims at bridging the gap between school and college and develops the student's skills in three areas related to active learning and research methodology. In the first area, the student is introduced to the university's rules and regulations and general guidelines. In the second area, the student hones his/her study skills, namely, developing schedules, improving concentration, developing time-saving test-taking strategies, taking good notes, improving listening and reading skills, and applying strategies to avoid test anxiety. In the third area, the student is introduced to research, armed with the theory, methodology, and techniques of the research process, starting with conceptualization and ending with report writing.

Prerequisite: ENG 001
ENG 200
Writing Skills
This course covers the major components of effective communication in English. Students practice paragraph and essay writing and go over the main grammar rules. In addition, they are expected to participate in oral debates and presentations.
Prerequisite: ENG 001
MAT 201
Calculus I
This is an introductory calculus course. Contents include functions and graphs, rates of change, limits and continuity, differentiation rules and their applications, Rolle's theorem, the Mean Value Theorem, L'Hopital's Rule, optimization of functions, integrals and their area calculation applications, and the Fundamental Theorem of Calculus.
Prerequisite: MAT 200 OR Placement
MAT 202
Calculus II
This is an intermediate calculus course. Contents include integral calculation of areas, volumes and lengths of graphs, transcendental and hyperbolic functions, inverse functions and their derivatives, integration techniques, and an introduction to multi-variable integrals.
Prerequisite: MAT 201 OR Placement
ACC 314
Accounting and Financial Analysis
This course introduces students to the basic principles of accounting and the fundamentals of financial management. Firstly, it encompasses basic knowledge of the preparation of financial statements in addition to a thorough understanding of the accounting cycle. Secondly, it focuses on the role of the financial manager in the use of financial concepts and techniques in planning for the acquisition and use of funds to maximize the value of the firm. The course also covers taxes, discounted cash flow analysis, and valuation models.
Prerequisite: ENG 001
MAT 204
Discrete Math
This is a course that deals with mathematical structures used in computer science and engineering. Contents include sets, functions and relations, graphs and diagraphs, matrices, methods of proof, quantifiers, counting principles, graphs and trees, and algorithms.
Prerequisite: MAT 202
MAT 205
Linear Algebra
This is an advanced algebra course. Contents include linear equations, Guassian elimination, matrices and determinants, vector spaces and subspaces, bases and dimensions, rank and nullity, linear independency and dependency, Eigenvalues and Eigenvectors.
Prerequisite: MAT 202
MAT 210
Probability & Statistics For Science
This is a statistics course for computer science and engineering students. Contents include random variables, laws of probability, probability distributions, expectation and variance, moment generating functions, joint distribution, independence, probability models, Chi-square test, t- and f- distributions, estimation, confidence limits, significance tests, and regression.
Prerequisite: MAT 202
MAT 315
Numerical Methods
This course discusses the numerical methods needed in computer science and computer engineering. Contents include numerical integration methods, Monte Carlo method, moment method and matrix multiplication techniques. Emphasis will be on the implementation of numerical procedures using software packages such as Mathematica, MathCAD or MatLab.
Prerequisite: MAT 205 & CSI 205
CSI 201
Introduction To Computing
This course is an introductory non-technical survey of computer systems and a study of the social impact of computers. Topics include software, the system unit, input and output, secondary storage, communications and connectivity, the Internet, security, databases, information systems, systems analysis and design, programming and languages.
Prerequisite: ENG 000
CSI 205
Computer Programming I
This course explains the basic principles of algorithmic problem solving and programming. Topics include: use of methods of top down design, stepwise refinement and procedural abstraction, basic control structures, data types, and input/output, introduction to the software development process: design, implementation, testing and documentation, and the syntax and semantics of C++ programming language C++.
Prerequisite: CSI 201
CSI 210
Systems Hardware Fundamentals
This course provides the student with comprehensive and deep understanding of the essential physical components that make up a computer system. Topics include: CPU, motherboard, RAM, virtual memory, storage devices, video cards, audio cards, ports, and all types of cables and routers that make up a computer network. It also introduces the different types of operating systems, namely Windows, UNIX, Linux, and Mac OS, along with their hardware drivers, program managers and file management systems. This course also addresses recent advances in computer hardware and architectures, and how they affect performance. Students, having been exposed to actual hand-on lab exercises, gain experience and become proficient at identifying various external and internal components of a PC.
Prerequisite: ENG 000
CSI 221
Computer Ethics and Society
This course introduces the student to the social, legal, and ethical issues surrounding software use and development.  Topics cover: professional ethics, property rights in computer software, invasion of privacy, software theft and piracy, computer crime, hacking and viruses, social implications of computers -  autonomy and access, ACM and IEEE code of ethics and professional conduct.
Prerequisite: CSI 201
CSI 250
Computer Programming II
This course is a continuance of CSI 205. It introduces the fundamentals of computer science and software methodologies. Topics include: abstract data types, object-oriented models and methods, specifications and program composition. The course includes weekly laboratory hours that allow the students to investigate the lecture material by writing non-trivial C++ applications.
Prerequisite: CSI 205, Co. CSI 250L
CSI 301
Theory Of Computation
This course explores the mathematical foundations of computer science. It investigates the interaction of various models of computation. Topics include: sets, finite state machines, regular languages and grammars, push down machines, context free languages and grammar, turning machines, and context sensitive languages and grammar.
Prerequisite: MAT 204
CSI 308
Software Engineering and Systems Design
This course communicates the knowledge necessary to analyze, design, and implement complex real-life systems while working as teams. It covers the different systems analysis and design techniques used by a systems analyst. In addition, it presents the current software engineering standards and processes. It also presents an overview of the qualitative aspects such as maintainability, extensibility, reusability and robustness in every stage of the software engineering lifecycle. Topics covered include: software processes, agile software development, requirements engineering, system models, architectural design, and software testing.
Prerequisite: CSI 205
CSI 316
Database Systems
This course studies the fundamental concepts for designing and implementing a database. Topics include: design theory for relational databases, ER/EER model, object-relational databases, relational algebra, graphically oriented query languages, data definition and data manipulation languages, SQL, normalization, client/server databases, multi-tier architecture, security and integrity, and concurrency control.
Prerequisite: CSI 308, CO. CSI316L
CSI 345
Computer Networks
This course covers both CCNA1 and CCNA2 Cisco tracks. It introduces the infrastructures of computer networks from the simplest peer-to-peer local area networks to the vastly complex metropolitan and wide area networks. Topics include: ISO sever-layer model, physical aspect of data transmission, bandwidth, connection oriented (TCP/IP), and connectionless services (UDP), internetworking using bridges, routers and programming multithread client-server applications through interfaces, sockets and Remote Procedure Calls (RPC). Students who successfully complete this course at AUST will earn the CISCO-ICND1 Academic Certificate.streaming audio, IPsec, AES, quantum cryptography, and more. Also, the course gives to the student a clear understanding about networking from underlying physical layer hardware up through today's most popular network applications.
Prerequisite: CSI 205, Co. CSI 345L
CSI 370
Mobile Computing Infrastructure
This course is a lab-based course in which students develop mobile applications across two of the most popular smartphone platforms: iPhone and Android. The course covers every facet of development and deployment. Topics include: Differentiating between Android and iPhone development environment, understanding of the application of life cycle, writing simple GUI applications, using build in widgets and components, developing useful iPhone/Android applications with compelling user interface, layout, views and menus,  using Android's/iPhone's APIs for SMS, telephony, databases, data storage, network management, internet resources (HTTP) and integration with existing web. Students use Xcode to develop iPhone applications and the Google Android Development Kit (ADT) for Eclipse to develop Android applications.
Prerequisite: CSI 250
CSI 375
Computer Science Internship
This course permits the students at the senior level to engage in outside internship. It integrates classroom studies with practical experience.  Students gain direct experience in organizations and companies where knowledge of system analysis, algorithms, operating systems, programming, networking, databases, web development, mobile applications, and data security is relevant.  To get academic credit, the student must complete 10 weeks of practical work with a minimum of three to four hours a day.
Prerequisite: Junior/Senior Standing
CSI 391
Data Structures and Algorithms
This course provides the basic principles of Data Structures and Algorithms.  It is designed to give the students an extensive knowledge of the basic and advanced data structures, their usage and their applications.  In addition, this course will teach the student how to choose the data structure that is best fit to solve a given real-life problem. As such, it also teaches the students how to design and analyze efficient algorithms. Topics covered include: time and space complexity, efficiency classifications and mathematical analysis of recursive and non-recursive algorithms, linear and dynamic programming, divide and conquer techniques, decrease/increase and conquer, transform and conquer, graphs and networks problems, string matching, and greedy algorithms. 
Prerequisite: CSI 250 & MAT 204
CSI 402
Operating Systems
This course presents the concepts of operating systems and their implementation. Topics include: process management and synchronization, inter-process-communication, resource management, mutual exclusion, deadlock prevention, memory management, virtual memory, disk management, security and protection, mono-programming and multi-programming, and I/O control system.
Prerequisite: CSI 391 & CSI 345
CSI 409
Computer Programming III
This course introduces the student to the different types of networks and internet programming and web services. Topics include: Model-View- Controller (MVC) architecture, the platform Java 2 Enterprise Edition (J2EE) for advanced web programming through Servlets, Java Server Pages (JSP), Java Beans and Java Database Connectivity.   The Java 2 Standard Edition for TCP/UDP sockets programming, multithreading, file handling and serializations, distributed programming through Remote Method Invocation (RMI), AJAX, XML, and many other internet services. Upon completion of this course, student will be able to write advanced web and distributed client server applications.
Prerequisite: CSI 250 & CSI 316
CSI 418
Web Programming
This course is designed to give the student a deep understanding of how to create dynamic, data driven websites using the LAMP stack. It focuses on the integration of the LAMP components: the open source database MySQL and PHP (server-side scripting) together to provide a platform for building database-driven web applications.  This course also introduces student to building applications with ASP.NET MVC 3 framework, starting with installing the tools, going through controller, views, models, C#, AJAX features, persisting data to SQL Server and finishing with a complete web application.
Prerequisite: CSI 250 & CSI 316, CO. CSI 418L
CSI 444
System Security
This course focuses on the underlying concepts of computer systems security and information protection. It enables the student to discover the nature of computer security, threats, and vulnerabilities; assess the risks; develop computer security policy, communications and network security; apply disaster recovery, and, to deal with computer viruses. Topics include: Block Ciphers, Data Encryption Standard (DES algorithm), Public-Key Cryptography, RSA algorithm, Authentication Protocols (SSL, KERBEROS), Message Authentication, Authentication Application, Hash Functions, Digital Signatures, Pretty Good Privacy (PGP) service, Electronic Mail Security, IP Security, Web Security, Malicious Software and Firewalls.
Prerequisite: CSI 345
CSI 468
Cloud Computing & Infrastructure
This course introduces the student to the cloud computing concepts, fundamentals, architectures, models, and applications. The course addresses both business and technical aspects of cloud computing. Topics cover: Cloud computing concepts, evolution, architectures, infrastructures, platforms, opportunities, risks, enterprise adoption strategies, standards and polices, Software-as-a-Service (SaaS), Platform-as-a-Service (PaaS), Infrastructure-as-a-Service (IaaS), modern cloud computing technologies and tools, Cloud service architecture and layering; in addition to  administrative issues, resiliency and security considerations, business development, and extensive case studies and team projects.
Prerequisite: CSI 345
CSI 497
Comp. Sc. Senior Project Proposal
This course concentrates on the planning and the designing of pilot projects. It investigates the different aspects of material acquired during the previous years of study. Emphasis is placed on functional specifications, design specifications, user interface design, implementations plans, and team work assignment.
Prerequisite: Senior Standing
CSI 499
Computer Science Senior Project
In this course, the student undertakes a significant self-directed project under the guidance of a faculty advisor. This project reflects the material pertaining to the senior project proposal. It consists of implementing, testing, verifying and documenting the results and findings of the project.
Prerequisite: CSI 497
CSI205L
Programming I Lab
This one credit course is taken in conjunction with CSI 205. The purpose of this course is to give students extra hands-on programming practice with guided supervision. Students will work as individuals or in pairs each week to develop working programs; grades are given at the end of each development phase.
Prerequisite: Co. CSI 205
CSI250L
Programming II Lab
This one credit course is taken in conjunction with CSI 250. The purpose of this course is to give students advanced hands-on programming with guided supervision. Students will work as individuals or in pairs each week to develop working programs and applications; grades are given at the end of each development phase.
Prerequisite: Co. CSI 250
CSI316L
Database Systems Lab
This course provides hands-on lab experiments on topics covered in CSI 316, using either Linux or Windows platform.
Prerequisite: Co. CSI 316
CSI345L
Computer Networks Lab
The laboratory projects will complement and extend the lecture material. They are design-oriented and experimental in nature. Sample projects include: (1) implementation of a network protocol, (2) design of an elementary file transfer protocol, (3) design and analysis of a reliable transport protocol over UDP, (4) design and analysis of a distributed database over TCP/IP network, and, (5) design of a simulation model to study the characteristics of various error control strategies.
Prerequisite: Co. CSI 345
CSI418L
Web Programming Lab
This course provides hands-on lab experiments on topics covered in CSI 418  using  both the Open Source PHP /MySQL and  the  Windows ASP. NET platform.
Prerequisite: Co. CSI 418
CSI 323
Computer Systems

This course is designed to equip students with a thorough understanding of how to write correct programs that run fast on modern computer. It provides them with strong foundation for subsequent courses on operating systems, networks, compilers and many other courses that require an understanding of the system-level issues. Topics include: efficient machine-level code, concepts of program execution, address translation, input and output; event handlers; performance evaluation and optimization; modularity using client-server design; virtual memory, and threads; cache memory; networks; atomicity and coordination of parallel and concurrent activities; recovery and reliability.

Prerequisite: CSI 250
CSI 395
Special Topics In Computer Science
The course presents new and emerging topics in the field of Computer Science.
Prerequisite: Senior Standing
CSI 408
UNIX Fundamentals and Programming
This course covers LPI 101 Linux track. It is an introduction to the Unix/Linux operating systems. Topics include: general Unix/Linux commands, the vi, emacs, sed editor, shell scripting, and the X11 windowing system and customization. The login process, system processes, pipes, filters, regular expression, awk, and various Unix/Linux tools and utilities will be covered in details. Dtksh (ksh93) and the Perl programming language will also be introduced in the context of Client-Server, cgi-bin, and database applications. Students who successfully complete this course will earn the LPI-101 Academic Certificate.
Prerequisite: CSI 205
CSI 410
Artificial Intelligence
This course introduces artificial intelligence concepts and languages using Clips, Lisp and Prolog. Topics include: intelligent agents, problem solving and search, game playing, theorem proving, machine learning, genetic algorithms, knowledge representation techniques, knowledge-based systems, designing and implementing a knowledge-based system, expert systems, neural networks, and Natural Language Processing (NLP).
Prerequisite: CSI 391
CSI 413
Java for Certification
This course prepares the students for the Sun Certified Java Programmer (SCJP) Exam. Topics include: Declarations and Access Control, Flow Control, Assertions, Exception Handling, Garbage Collection, Language Fundamentals, Operators and Assignments, Overloading, Overriding, Runtime Type and Object Orientation, Fundamental Classes in the java.lang Package and the Collection Framework.
Prerequisite: CSI 250
CSI 424
VoIP Systems Design & Infrastructures
This course introduces the student to the Voice over IP (VoIP) design and infrastructure field. VoIP technologies, protocols, and components are explained to the student who will then design and configure a secure VoIP system. Topics cover: VoIP concepts and components, building a VoIP infrastructure, VoIP standard bodies, VoIP signaling, media and support protocols, VoIP protocols identification, Wireshark filters for SIP/SDP and RTP/RTCP identification, VoIP signaling protocols analysis, SIP requests, methods and responses, SIP and SDP message format, SIP behavior and call flow diagrams, Wireshark techniques for SIP/SDP analysis, VoIP media protocols analysis, RTP/RTPC message format, RTP/RTPC behavior and call flow diagrams, Wireshark techniques for RTP/RTCP analysis, ARP spoofing and MitM attacks, VoIP reconnaissance, Google hacking for VoIP infrastructures, and VoIP network scanning.
Prerequisite: CSI 345
CSI 446
Advanced Networking
This course covers both CCNA3 and CCNA4 Cisco tracks. This course completes the knowledge and skills required to successfully install, operate, and troubleshoot a small to medium size enterprise branch network. Topics include: VLSM, IPv6 addressing, extending switched networks with VLANs, configuring, verifying and troubleshooting switches. Several routing protocols are covered such as OSPF and EIGRP, determining IP routes, managing IP traffic with access lists, NAT and DHCP, establishing point-to-point connections; and establishing Frame Relay connections. Students who successfully complete this course will earn the CISCO-ICND2 Academic Certificate.
Prerequisite: CSI 345
CSI 447
Evolution of Mobile Communication
This course presents a broad overview of the evolution of Mobile Communication from GSM to 3G & 4G and beyond. The course gives a technical introduction to the current and next -generation network technologies, such as 3G/WCDMA, HSPA+WiMAX, LTE and WiFi, and the core network evolution to SAE.It also describes the latest mobile advise developments, voice and multimedia services and the mobile web 2.0.It as well considers how network capabilities, available bandwidth, mobile device capabilities and new application concepts will shape the way of communication in the future. The course gives en-to-end introduction to wireless-from mobile software architecture to core networks-making it a valuable resource for anyone working in the industry.
Prerequisite: CSI 345
CSI 450
Compiler Design
This course introduces the major aspects and interfaces used to modularize a modern compiler, with an emphasis on implementation techniques. Topics include: lexical analyzer (Scanner) LEX, top-down parsing, LL(1) parsers, bottom-up parsing, YACC, LR parsers, syntax directed translation, type checking; run-time storage, symbol table management, intermediate code generation, and code optimizations. Advanced material will also be included where time allows, such as garbage collection.
Prerequisite: CSI 301
CSI 465
Natural Language Engineering
This course contributes to the student understanding of Natural Language Engineering. Topics include: distinctive features of natural language systems within the general context of intelligent systems, the nuts and bolts of word/sentence/speech based systems, rule and statistics based approaches and evaluation of existing natural language systems.
Prerequisite: CSI 391
CSI 475
Distributed Systems

This course covers the main principles underlying distributed systems. The lectures focus primarily abstractions and implementation techniques for the design of distributed systems. Topics include: server design, network programming, concurrency and concurrent programming, naming, scheduling, synchronization, distributed storage systems, peer-to-peer systems, data centers security, and fault tolerance. Students also gain practical experience in designing, implementing, and debugging real distributed systems. Upon completion of the course, students will understand the fundamentals of distributed computing and be able to design and develop distributed systems and applications.

Prerequisite: CSI 391
CSI 480
Computer Vision

This course introduces the student to the different types of  2D and 3D applications in computer vision. Topics include low-level image processing methodologies (boundary detection and recognition); image processing; multiple view geometry; segmentation; grouping,; motion estimation and structure from motion.including image formation, shape reconstruction; feature detection, recognition and learning, and video processing.  This course is intended for upper-level undergraduate students.

Prerequisite: CSI 391 & MAT 205
CSI 490
Social Networking

This course provides student with comprehensive and practical introduction to the analysis of social networks. It introduces different methods for analyzing and understanding how people use these technologies and their societal implications. Students will learn how to use social media services like Facebook, Twitter, YouTube, and others to reach personal and professional goals. Whether goals be web, business, blog or personal reasons students will be empowered to concentrate on uncovering structural properties of the Social network. Online interactive demonstrations and hands-on analysis of real-world data sets will focus on a range of tasks: from identifying important nodes in the network, to utilizing, monetizing and exploiting social networking as marketing and brand building tools, to detecting communities, to tracing information diffusion and opinion formation.

Prerequisite: CSI 250
ENG 000
Intensive English I
Intensive English I is a course that is designed to improve the students' general competence in English. In class, the students engage in active reading, writing, listening, and speaking. The aim is to transfer the student from an intermediate to a high-level. Special attention is given to grammatical structure and vocabulary. At this level, students practice their sentence and paragraph structure. It is worth noting that the final evaluation of Intensive English I achievement appears in the form of "P" or "F".
Prerequisite: ENG 00 OR Placement
ENG 001
Intensive English II
Intensive English II is a course that is designed to improve the general competence of students in the English language. In class, the students engage in active reading, writing, listening, and speaking. The aim is to transfer the student from a high-intermediate to an advanced level. Special attention is given to grammatical structure and vocabulary. At this level, students practice their sentence and paragraph structure. It is worth noting that the final evaluation of Intensive English II achievement appears in the form of "P" or "F".
Prerequisite: ENG 00 OR ENG000S OR Placement
ENG 00A
Basic English I
Basic English I is a course designed for students who have elementary level of English. It combines a strong grammar and vocabulary syllabus with a communicative approach to motivate students to express themselves with confidence in both oral and written. The kind of English they are exposed to reflects what is actually used for communication, along with excursions into some forms of academic prose. Emphasis also includes developing the students' informal writing skills. The objective of the course is to transfer the student from an elementary level to an intermediate level. The final evaluation of Basic English I achievement appears in the form of "P" or "F".
Prerequisite: Placement
MAT 200
Precalculus
This is a preparatory course for mathematics. It includes radical and rational expressions, quadratic equations and inequalities, coordinate systems and function concepts, logarithmic and exponential functions, systems of equations and inequalities, and derivatives.
Prerequisite: Placement
MAT200X
College Algebra
This is a remedial math course for graphics design students and/or students whose entrance exams indicate the need for a refresher math course. The course content includes solving linear equations, solving quadratic equations, polynomials, rational and radical expressions, and an introduction to logarithms and exponentials.
Prerequisite: Placement
BIO 100
Introduction to Biology
This course introduces students to the basic concepts of cell biology, chemistry, genetics and microbiology. The basics of the anatomy and physiology of animals and other microorganisms are highlighted. This course introduces students to basic knowledge of life science.
Prerequisite: NONE
BIO100L
Introduction to Biology Laboratory
BIO100L/200L is a laboratory course that covers a selection of common techniques used in cell and molecular biology. This course provides hands-on practical and experimental applications for topics discussed in the Introduction to Biology BIO100 course.
Prerequisite: NONE
CHE 101
Principles Of Chemistry I
This is an introductory course in the fundamental principles of chemistry. Topics include states of matter and their properties, stoichiometry, atomic structure, chemical bonding, molecular geometry, periodic properties of elements and solution chemistry.
Prerequisite: ENG 001
CHE101L
Principles Of Chemistry Lab
Experiments in general chemistry, stoichiometry, calorimetry, electrochemistry, molecular geometry, gas laws, kinetics, acids and bases and inorganic chemistry.
Prerequisite: NONE
CSI 419
Introduction to Data Science
This course aims at introducing the student to the different techniques involved in data manipulation (gathering, cleaning, preprocessing, etc.) in order to come up with informed and reliable predictions. Topics covered include data collection, data management, data analysis, prediction, and communication of results. 
Prerequisite: MAT 205 & MAT 210 & CSI 391
CSI 429
A Practical Approach to Data Science and Data Visualization
This course examines the field of Data Science and its applicability in the business world. Students will have a practical hands-on workbench approach to sampling, exploring, modifying, modeling and assessing data sets. In addition, this course teaches the students how to demystify the complexity of the data by visualizing it with great illustrations that would help them to better understand it.
Prerequisite: CSI 419
CSI 469
Machine Learning and Data Mining
This course aims at teaching the student the most effective machine learning algorithms. It also covers the general concepts of data mining along with the basic methodologies that allow computers to discover data patterns, allowing them to act intelligently without being explicitly programmed. In addition to the theoretical underpinnings of learning, the student will gain the practical know-how required to tackle real-life problems.
Prerequisite: MAT 205 & MAT 210 & CSI 391
CSI 479
Big Data Analytics
This course introduces the students to the fundamental technologies for manipulating, storing, and analyzing Big Data; i.e., those whose volume, velocity and variety are constantly changing. The course introduces the advanced statistical analysis tools used to manipulate and analyze Big Data. It covers the different terminologies and core concepts behind Big Data problems and shows the students how this data might become very useful in their business or career. 
Prerequisite: MAT 205 & CSI 316
CSI 414
Artificial Intelligence for Games
This course introduces students to a wide range of concepts and practical algorithms that are commonly used to solve game AI problems. Students will learn about and implement different major game AI algorithms. Topics covered include Artificial Intelligent thinking, Artificial Intelligent architecture (state machines, rule-based systems, goal-based systems, trigger systems, smart terrain, scripting, message passing, and debugging AI), movement, pathfinding, emergent behavior, agent awareness, agent cooperation, terrain analysis, planning, and learning/adaptation. 
Prerequisite: CSI 391
CSI 470
Introduction to Computer Graphics
This course teaches the students the fundamental concepts and techniques needed to generate simple line drawings through realistic, synthetic images of 3D objects and scenes. It builds upon what the student has learned in previous courses. Topics covered include drawing lines and shapes, object representation, transformations, image conversion, image processing, different mapping and lighting techniques. 
Prerequisite: CSI 391
CSI 485
Game Design and Development I
This course introduces the students to the basic skills and knowledge required to generate 2D and 3D digital games using different commercial game engines. It teaches the students the different terminologies and fundamental concepts of game development to allow them to create simple games. Students will also learn about different design considerations and how to integrate them into the development process. 
Prerequisite: CSI 470
CSI 486
Game Design and Development II
This course equips the students with the necessary skills to use advanced game development features to create more sophisticated and efficient and robust games. Topics covered include game modularization, use of generics, event handling, use of different data structures, memory management, code optimization, and debugging techniques. This course as well introduces multi-player networking, advanced UI and animation control, etc. Students will be also introduced to different emerging technologies such as virtual reality, augmented reality, mixed reality and use of various sensory devices through hardware integration.
Prerequisite: CSI 485
CSI 380
Introduction to iOS Mobile Application Development
This course is an introduction to the development of mobile applications that are meant to be run on Apple devices. Students will use the Swift programming language to gain a hands-on experience using the Xcode development environment to build different applications. This course will provide the students with the basic knowledge of the Objective-C programming language
Prerequisite: CSI 250
CSI 390
Cross-Platform Mobile Application Development
This course introduces the student to the tools required to build applications that can be written once and then compiled to run on different platforms. 
Prerequisite: CSI 250
CSI 471
Advanced Android Mobile Application Development
This course is a continuity of the introductory course “Introduction to Android Mobile Application Development”. In this course, the student will gain advanced knowledge of the Android platform, including, structuring applications for efficiency and reliability, accessing web services, and integrating with 3rd party libraries. The students will also learn about background applications, content providers and animation. Throughout this course the students will assimilate information as to specific features such as user interface, process creation, life cycle events, process services, location based facilities, accelerometer, on-device sensors, network/web access, and sound/multimedia.
Prerequisite: CSI 370
CSI 472
Advanced iOS Mobile Application Development
This course is a continuity of “Introduction to iOS Mobile Application Development” (CSI 380) course. It is meant to provide the students with elaborate knowledge of mobile application development using cutting-edge Apple technologies: the Swift language and the Xcode IDE. Students learn about the universal design patterns such as Model-View-Controller and asynchronous Internet communication. The students will also learn to design interfaces to provide immediate visual feedback. Topics covered include the use of the UIKit, many different iOS frameworks, as well as third party frameworks that support social media and cloud database storage.
Prerequisite: CSI 380

FACULTY OF ARTS AND SCIENCES
Dean's Message
Vision and Mission
Non-Degree Programs
Academic and Research Collaboration
Facilities
Profile
Official AUST Website
All rights reserved. © 2019