Software List
Software List
Software List
Description
Microsoft Office Package
(Word, Excel, Powerpoint, Access)
Microsoft Windows Operating System
Microsoft Visual Basic 6.0 IDE
Microsoft Visual Studio DOTNET IDE
HTML, Javascript, PHP, CSS IDE
HTML, Javascript, PHP, CSS IDE
Basic Android Programming
Android Programming IDE
Web-Base/2D Game Programming
Server Application for Apache, MySQL, Mercury
Server Database
MySQL Server Community Edition
SQLite Database
MySQL Driver Connection
Adobe Acrobat PDF Reader
Mozilla Web Browser
Google Web Browser
Category
Office Package
Operating System
Programming
IDE
Server Application
Database
Database
Database
Programming Tools
PDF Reader
Web Browser
Web Browser
This course studies the principles of programming languages with an emphasis on programming language implementation and compiler
design. This includes various techniques for describing and defining a language, as well as techniques for implementing compilers. The
course is centered on a large programming project-the construction of a complete compiler for a small programming language-which
will be completed over the two term sequence CS 321 and CS 322. Topics to be covered over the two terms include: lexical analysis,
syntactic analysis, recursive descent parsing, LR parsing, syntax-directed translation, type checking, run-time environments, code
generation, code optimization, and various language design issues.
Contact Hours/Week: 3
Pre-requisite: Discreet Math, Operating System, Automata Language Theory, Data Structures, Computer Organization.
Learning Outcomes/Course Objective:
LO1 = Understand the theory and practice of compilers, interpreters, assemblers, linkers, and loaders,
and be able to work effectively with such programs.
LO2 =Be able to design and implement parsers and language translators for simple languages.
LO3 = Appreciate the effects of decisions in programming language and computer architecture design
on the translation process and runtime system.
LO4 = Have experience with the design and implementation of large and complex programs using Java.
LO5 = Retain knowledge of compilation techniques in preparation for advanced courses in compilers
and/or other advanced computer science studies.
Course Outline:
Introduction:
Compilers and Interpreters, overview of the translation process, motivation Specification of programming languages
Components and structure of the translation process Reminder of key Java concepts
Syntactic Analysis
Semantic analysis
Runtime organization
Code generation
Virtual Machines and Interpretation
Major Course Output:
LO
Require Output
LO1
MCO1 = Create a Contextfree grammars and parsing
LO2
MCO2= Objectoriented execution: inheritance and virtual method invocation
LO3
MCO3 = Procedure invocation and parameter passing
LO4/LO MCO4/5 = Case Study
5
End
End
End
End
of
of
of
of
Due Date
Prelim
Midterm
Pre-Final
Final
Learning Plan
LO
Topics and Reading
Compilers and Interpreters, overview
LO1
LO2
Class Schedule
Learning Activities
Week 1-4
Discussion
Hands on Demonstration
Exercises
Week 5 - 7
Discussion
Hands on Demonstration
Exercises
Week 8 - 9
Discussion
Hands on Demonstration
Exercises
LO3
LO4
LO5
Interpreter organization
Case Study
Week 10 -14
Week 15
Discussion
Hands on Demonstration
Exercises
Presentation
Course Outline:
Course administration
Review: data structure concepts, arrays, simple linked lists, different implementations of lists, binarytrees
Introduction to complexity:O-notation
Stacks and queues
Sets, including union/find algorithms
Recursion and backtracking
Sorting and searching
Balanced trees
Heaps, priority queues, heapsort
Dictionaries/maps, hashing
Graphs
Major Course Outputs:
As evidence of attaining the above learning outcomes, students are required to do and submit the following during the indicated dates
of the term. The rubrics for these outputs are provided.
Learning
Outcomes
LO1
LO2
Required Output
Due Date
MCO1 =
MCO2 = A documented evaluation of the software project with respect to the software source
code
Grading System:
To pass this course, one must accumulate at least 60 points through the course requirements discussed above. The maximum points
that a student can obtain through each requirement are shown below.
Requirements/Assessment Task
Maximum Points
20
50
30
100
Major Exam
Case Study and Reports
Class Participation, Seatwork, and Assignments
TOTAL
Learning Plan
LO
Topics and Reading
Course administration
Review: data structure concepts, arrays, simple
linked lists, different implementations of lists,
binary
LO1 Trees
Introduction to complexity:O()-notation
Stacks and queues
Sets, including union/find algorithms
Recursion and backtracking
LO2 Sorting and searching
Class Schedule
Learning Activities
Week 1 - 6
Discussion
Hands on Demonstration
Exercises
Week 7- 8
Balanced trees
Week 9 - 10
Discussion
Hands on Demonstration
Exercises
Discussion
Hands on Demonstration
Exercises
Discussion
Hands on Demonstration
Exercises
Discussion
Hands on Demonstration
Exercises
Discussion
Hands on Demonstration
Exercises
Introduces the field of artificial intelligence (AI). Materials on AI programming, logic, search, game playing, machine learning, natural
language understanding, and robotics introduce the student to AI methods, tools, and techniques, their application to computational problems,
and their contribution to understanding intelligence. Because each of these topics could be a course unto itself, the material is introductory
and not complete. Each unit presents the problem a topic addresses, current progress, and approaches to the problem. The readings include
and cite more materials that are referenced in this course, and students are encouraged to use these resources to pursue topics of interest
after this course.
Contact Hours/Week: 3
Pre-requisite: Must be 4th Year Standing
Learning Outcomes/Course Objective:
LO1 = Describe the major applications, topics, and research areas of artificial intelligence (AI), including search, machine learning,
knowledge representation and inference, natural language processing, vision, and robotics.
LO2 = Apply basic techniques of AI in computational solutions to problems.
LO3 = Discuss the role of AI research areas in growing the understanding of human intelligence.
LO4 = Identify the boundaries of the capabilities of current AI systems.
Course Outline:
Introduction to Artificial Intelligence (AI) and AI Programming
Logic Programming
Trees and Nodes
Graphs
Directed / Undirected
States, Actions, and Goals
LO2
LO4
MCO4/5 =
End of Midterm
MCO3 =
LO3
Due Date
End of Prelim
End of Pre-Final
End of Final
Grading System:
To pass this course, one must accumulate at least 60 points through the course requirements discuss above. The maximum points that
a student can obtain through each requirement are shown below.
Requirements/Assessment Task
Maximum Points
Major Exam
20
Case Study and Report
50
Class Participation, Seatwork, and Assignments
30
TOTAL
100
Learning Plan
LO
Topics and Reading
LO1
Introduction to AI and Agents
Blind Search
LO2
LO3
Class Schedule
Week 1-4
Week 5 - 7
Week 8 - 9
Learning Activities
Discussion
Hands on Demonstration
Exercises
Discussion
Hands on Demonstration
Exercises
Discussion
Hands on Demonstration
LO4
Exercises
Week 10 -14
Discussion
Hands on Demonstration
Exercises
No: ICT 8
Title: DBMS
Credit: 3
Description:
Introduction to DBMS concepts. Data models and languages. Relational database theory. Database security/integrity and concurrency.
Contact Hours/Week: 3
Pre-requisite: Data Structures
Learning Outcomes/Course Objective:
LO1 = Describe the major applications, topics, and research areas of artificial intelligence (AI), including search, machine learning,
knowledge representation and inference, natural language processing, vision, and robotics.
LO2 = Apply basic techniques of AI in computational solutions to problems.
LO3 = Discuss the role of AI research areas in growing the understanding of human intelligence.
LO4 = Identify the boundaries of the capabilities of current AI systems.
Course Outline:
Introduction
Database
Entity-Relationship Model
Relational Model
ER-to-Relational Mapping
Relational Algebra
Query Processing and Optimization
Microsoft Access
Relational Database Design
Relational Calculus
SQL
Security and Authorization
Transactions, Recovery and Concurrency
Due Date
End of Prelim
End of Midterm
End of Pre-Final
End of Final
Grading System:
To pass this course, one must accumulate at least 60 points through the course requirements discuss above. The maximum points that
a student can obtain through each requirement are shown below.
Requirements/Assessment Task
Maximum Points
Major Exam
20
Case Study and Report
50
Class Participation, Seatwork, and Assignments
30
TOTAL
100
Learning Plan
LO
Topics and Reading
Introduction
LO1
LO2
LO3
LO4
Database
Entity-Relationship Model
Relational Model
ER-to-Relational Mapping
Relational Algebra
Query Processing and Optimization
Microsoft Access
Relational Database Design
Relational Calculus
SQL
Security and Authorization
Class Schedule
Learning Activities
Week 1-4
Discussion
Hands on Demonstration
Exercises
Week 5 - 7
Week 8 - 9
Week 10 -14
Discussion
Hands on Demonstration
Exercises
Discussion
Hands on Demonstration
Exercises
Discussion
Hands on Demonstration
Exercises
This course is an introduction to operating system design and implementation. We study operating systems because they are examples
of mature and elegant solutions to a difficult design problem: how to safely and efficiently share system resources and provide abstractions
useful to applications. For the processor, memory, and disks, we discuss how the operating system allocates each resource and explore the
design and implementation of related abstractions. We also establish techniques for testing and improving system performance and introduce
the idea of hardware virtualization. Programming assignments provide hands-on experience with implementing core operating system
components in a realistic development environment.
Contact Hours/Week: 3
Pre-requisite: Data Structures
Learning Outcomes/Course Objective:
Learning outcomes for this course are divided into two categories: conceptual, and programming. Our goal is to provide you with an
introduction to operating systems and make you a stronger programmer, debugger, and teammate.
LO1
o Understand the abstractions supported by modern operating systems.
o Describe how operating systems safely and efficiently
o multiplex hardware resources through effective policies and mechanisms
o Analyze the designs and features of historical, current, and emerging operating systems
LO2
o
o
Course Outline:
Processes and the system call interface.
Abstracting and multiplexing the CPU.
Abstracting and multiplexing memory.
Abstracting and multiplexing disks.
Operating system structure: micro, macro, exo and multikernels.
Performance improvement.
Hardware virtualization.
LO2
MCO2
Due Date
End of Midterm
Design, execute, and report on the results of experiments to monitor the performance of an
operating system as a whole or one of its parts design, code , and test programs that use
thread libraries to support concurrency (using for example java.util.concurrent or POSIX
Threads also known as Pthreads) and design, code and test models of concurrency (using,
for example, Petri Nets) .
End of Final
Grading System:
To pass this course, one must accumulate at least 60 points through the course requirements discuss above. The maximum points that
a student can obtain through each requirement are shown below.
Requirements/Assessment Task
Maximum Points
Major Exam
20
Case Study and Report
50
Class Participation, Seatwork, and Assignments
30
TOTAL
100
Learning Plan
LO
Topics and Reading
Role and purpose of operating systems.
LO1
Class Schedule
Week 1-7
Learning Activities
Discussion
Hands on Demonstration
Exercises
LO2
Week 8 - 14
Discussion
Hands on Demonstration
Exercises
Introduction toR DBMS concepts. Data models and languages. Relational database theory. Database security/integrity and concurrency.
Contact Hours/Week: 3
Pre-requisite: Data Structures
Learning Outcomes/Course Objective:
LO1 = Describe the major applications, topics, and research areas of artificial intelligence (AI), including search, machine learning,
knowledge representation and inference, natural language processing, vision, and robotics.
LO2 = Apply basic techniques of AI in computational solutions to problems.
LO3 = Discuss the role of AI research areas in growing the understanding of human intelligence.
LO4 = Identify the boundaries of the capabilities of current AI systems.
Course Outline:
Introduction
Database
Entity-Relationship Model
Relational Model
ER-to-Relational Mapping
Relational Algebra
Query Processing and Optimization
Microsoft Access
Relational Database Design
Relational Calculus
SQL
Security and Authorization
Transactions, Recovery and Concurrency
Due Date
End of Prelim
End of Midterm
End of Pre-Final
End of Final
Passing grade on quizzes and the final exam, achieve the objectives of each unit and the goals of the course, ability to apply the
concepts taught in the course.
Grading System:
To pass this course, one must accumulate at least 60 points through the course requirements discuss above. The maximum points that
a student can obtain through each requirement are shown below.
Requirements/Assessment Task
Maximum Points
Major Exam
20
Case Study and Report
50
Class Participation, Seatwork, and Assignments
30
TOTAL
100
Learning Plan
LO
Topics and Reading
Introduction
LO1
LO2
LO3
LO4
Database
Entity-Relationship Model
Relational Model
ER-to-Relational Mapping
Relational Algebra
Query Processing and Optimization
Microsoft Access
Relational Database Design
Relational Calculus
SQL
Security and Authorization
Class Schedule
Learning Activities
Week 1-4
Discussion
Hands on Demonstration
Exercises
Week 5 - 7
Week 8 - 9
Week 10 -14
Discussion
Hands on Demonstration
Exercises
Discussion
Hands on Demonstration
Exercises
Discussion
Hands on Demonstration
Exercises