قسم علوم الحاسوب من الأقسام الأساسية في كلية علوم الحاسوب وتقنية المعلومات، ويمنح الطالب درجة البكالوريوس في تخصص علوم الحاسوب بعد اكماله بنجاح 135 ساعة معتمدة، حسب متطلبات القسم العلمي وبمعدل لا يقل عن 2 نقطة من مجموع 4 نقاط، وفي مدة ثمان فصول دراسية. ويجوز للطالب التخرج في مدة لا تقل عن 7 فصول اعتيادية أو 6 فصول اعتيادية وفصلين صيفيين، ولا تتجاوز عدد 10 فصول دراسية في تخصص علوم الحاسوب.
1- دعم المجتمع ومؤسسات التعليم العالي بتوفير الفرص للحصول على تعليم عالي في تخصص علوم الحاسوب والذي يعتبر من اهم مقومات العلوم العصرية .
2- إعداد المتخصصين في علوم الحاسوب المتطورة تلبية لاحتياجات المجتمع الضرورية .
3- امداد القطاعات الصناعية والانتاجية والدوائر المالية والادارية العاملة بأجهزة الدولة بكفاءات متميزة لها القدرة على إعداد البرامج التطبيقية لعلوم الحاسوب الحديثة وتحسينها والمساهمة الفعالة في تشغيلها على الوجه الامثل بحيث تسهم في تطوير المجتمع وكسر الاحتكار الخارجي للتكنولوجيا المتطورة.
4- تعزيز ثقة الطلاب من خلال الانخراط في المجتمع بشكل عملي وذلك بإعداد البحوث الميدانية للمتطلبات الدراسية والمشاركة في المحافل والانشطة العلمية.
5- العمل على ادراج علوم الحاسوب الحديثة ضمن الفاعليات التعليمية و ترسيخ المفاهيم التطبيقية وتوظيفها في تعزيز مفهوم ثقافة الإدارة الإلكترونية والعمل علي تطبيقها بما يخدم الخطط الاستراتيجية للمجتمع.
6- تعميق ثقافة تبادل المعلومات والافكار من خلال استحداث مجموعات تعمل بمنهجية الفريق الواحد وذلك من خلال بناء الشراكات والتعاون مع الأقسام المناظرة من خارج الجامعة.
7- الانخراط بشكل فعال في الانشطة الأكاديمية والعلمية المحلية منها والدولية وعقد الندوات والمؤتمرات وورش العمل بما يرفع قدرة الابتكار والتفكير بشكل منهجي للطلاب والخريجين.
8- رفع مستوي المجتمع من الناحية الاجتماعية والاقتصادية وذلك بتوفير البيئة التعليمية والتدريبية الداعمة لبناء القدرات العلمية للطلاب وزيادة التحصيل المعرفي بالطرق النظرية والعملية حسب التخصصات المختلفة داخل الكلية.
حرصاً من كلية علوم الحاسوب و تقنية المعلومات بجامعة البحر المتوسط الدولية على تقديم أفضل وأحدث البرامج العلمية في كافة التخصصات، فقد تبنت العديد من الطرق في تقييم ومتابعة جودة البرامج التعليمية المعتمدة على اختلاف مستوياتها وأنواعها. وبشكلٍ خاص فإن برنامج البكالوريوس في علوم الحاسوب يعتمد على التقييم المستمر للبرامج للتأكد من جودتها ومواكبتها للتطورات الحديثة في المجال الأكاديمي والتقني ، ومن ضمن المؤشرات المعتمدة في التقييم ما يلي:
التقييم من خلال التغذية المرتجعة لنتائج استبيان اراء الطلبة لأداء أعضاء هيئة التدريس وملائمة المقررات الدراسية والبرامج التعليمية .
التقييم من خلال تحليل نتائج استبيان تقييم الطلاب للمقررات العلمية والبرامج التعليمية في تغطية مفردات المناهج المقررة.
التقييم من واقع ورش عمل تقام بمعرفة أعضاء هيئة التدريس بالقسام العلمية بصورة دورية لتحديد نقاط القوة ونقاط الضعف في البرنامج التعليمي وتعديلها بما يتوافق و الواقع العملي.
التقييم من واقع التغذية المرتجعة لإدارة الكلية وإدارة الجامعة للبرامج التعليمية.
التقييم من واقع تقاريراللجان المختصة بتقييم البرامج العلمية وإجراء التعديلات وفق التطورات العلمية والتقنية والمعايير المتعارف عليها دوليا.
التقييم من خلال التغذية المرتجعة لنتائج تحليل استبيان اراء الخريجين.
وبناءً على المؤشرات المحصلة من النقاط السابقة ، يقوم القسم العلمي باتخاذ الخطوات التالية:
تشكيل لجنة علمية من أساتذة كلية علوم الحاسوب و تقنية المعلومات والتخصصات الاخرى ذات العلاقة بالبحث عن أنسب المُحتويات الدراسية المقررة في جامعات العالم، وتكييفها بما يخدم أغراض العملية التعليمية في البيئة الليبية.
تشكيل لجنة علمية لأغراض التقييم والمراجعة للمناهج المُقترحة من أساتذة متخصصين والعمل على اعتمادها بعد إجراء التعديلات اللازمة.
الإستعانة بالمستشارين والخبراء في مجال إعداد المناهج وأنظمة جودة العملية التعليمية لضمان سلامة وجودة المخرجات التعليمية.
وضع خطة سنوية لمراجعة المناهج وتعديلها وفقا للاحتياجات الملحة كما هو الحال في جامعات الدول المتقدمة.
aهذا المقرر يتناول الحديث على اللغة العربية، ويركز على النحو والبلاغة والصرف في المستوى الأول، ولقد حوى الحديث على الكلمة وأقسامها، ثم المعرب والمبني، وأقسام الفعل، والمرفوعات. ثم ذكر البلاغة، وأنواع الأساليب، والتشبيه وأقسامه. كما أنه تطرق إلى بعض النصوص الأدبية ليتمرن الطالب على قراءتها.
aعدد من الموضوعات تهدف للتعريف بالشريعة الإسلامية السمحة حسب المنهج الوسطي المعتدل البعيد عن التطرف والغلو.
aEnglish for IT 1 is an ESP course that introduces the students to the language encountered while studying in the field of IT. The course includes readings and vocabulary exercises designed to develop the students’ skills in the English language in general and the language of the professions related to IT, in particular. Students develop their writing skills utilizing the sentence and paragraph structure for a coherent writing.
aEnglish for IT 2 is an ESP course that continues to expose the students to the language encountered while studying in the field of IT. The course is a continuation of English for IT1 and includes readings and vocabulary exercises designed to further develop the students’ skills in the English language in general and the language of the professions related to IT, in particular. Grammar, and writing in topics related to IT are also covered.
aThe course contains a range of ideas concerning Functions, domain and range of functions, linear functions, polynomials, expositional functions, logarithmic functions, trigonometric functions (trigonometric identities), hyperbolic functions, inverse of trigonometric functions, inverse of hyperbolic functions and derivatives of functions. It also concerning with matrices and its applications, including operations appropriate in specialized applications and Determinants (some properties)and Inverse of a matrix. The course shows how to formulate algorithms to solve systems of linear equations. It also includes techniques of vector spaces for constructing important mathematical structures, illustrated by examples. Systems of linear equations (Gauss-Jordan elimination, Matrices method, Cramer’s method)
aThe course contains a range of ideas concerning L’Hospital Rule, Taylor series and Maclaurin series. It also concerning Integral of functions in part (1) (using anti-derivatives). Integration techniques (Substitution technique, Integration by Parts, trigonometric substations, completing the square, partial fractions). Multiple integral (double integrals, triple integrals), applications (area, volumes, moments and center of mass).
aThe course contains a range of ideas concerning differential equations (Basic concepts, order, degree), first order differential equations and its applications. The course shows how to (separable equations, homogeneous equations, exact equations, linear equations), Special equations (Bernoulli equation). Second order differential equations (finding a particular solution using variation of parameters). Using separation of variables method. Power series solution (around ordinary points, around regular singular points), Bessel equation, Legendre equation. Systems of first order differential equations (writing system of linear first order differential equations in matrix form, solution using Eigen values and eigenvectors). Laplace transform (some examples), inverse Laplace transform, solution of initial value problems using Laplace transform.
aDefinitions Importance, Scope and Limitations of Statistics – Sources of Data Collection – Classification and Representation of Data Frequency Distribution. Measures of Central Tendency – Measures of Dispersion and Skewness – Ideas about Attributes and Association – Simple Correlation and Simple Regression Permutation and Combinations – Combinatorial problems – Sample Space – Events – Counting of sample points – Classical and Axiomatic definitions of Probability – Marginal and Conditional probability – Baye’s Theorem – Concept of Random Variable Probability Function. Expectation and Variance of Random Variables – Ideas of Bernoulli , Binomial , Poisson and Normal Distributions .
aPopulation, sample and sampling distribution, Point Estimation and Interval Estimation – properties of estimators : Biased and Unbiased Estimators , Consistent , Sufficient and Efficient Estimators – Test of Hypothesis : Null and Alternative hypothesis , Critical Region , Type I and Type ll Errors , Level of Significance , Degree of Freedom , Power of a Test , Test Statistics , One and Two Tailed Tests – Test of Hypothesis Concerning Means , Proportions , Equality of Means and Proportions , variances and Their Interval Estimation – Association of Attributes – Contingency Tables and Test of Independence – Goodness of Fit – Elements of Analysis of variance : One-way and Two-way Classification .
aIn this course students will become acquainted with the forms, functions and rhetorical lives of technical documents. Students will examine and produce a variety of technical documents
aThe course is designed to meet the needs of student majoring in Engineering , IT and Math. It is introductory courses in Newtonian mechanics with topics include: Vectors, motion in one dimension, motion in a plane, Newton’s laws, work and energy, potential energy, momentum, Kinematics of rotational motion, dynamics of rotational motion, elasticity, and fluid mechanics.
aThis course prepares students to conduct research in Computer Science & information technology. The course involves multiple topics including time management, writing and presentation skills, and general considerations for experiment design and planning. It introduces students to concepts, methods, and techniques associated with Computer Sciences research in general. It covers oral and written communication skills. These Skills and knowledge gained from this course will prepare students to conduct and to communicate their own research, as well as to be knowledgeable consumers of others’ research.
Understand the history of how computer technology unfolded, with particular emphasis on the “generations”. Understand how people and events affected the development of computers. Identify the basic components of computer system: input, processing, output and storage. Understand the difference between the difference types of software. Identify the components of the central processing unit and how they work together to form a system and interact with memory. Appreciate the need for the different applications included in the accessories of an Operating System. Know how the commands work in both GUI (Graphical User Interface) and CUI (Character User Interface) environment.
This course is to provide an introduction to basic programming techniques including the following: Problem solving skills. Understand flowcharting tools. Use the proper tool for proper operation. Learn the necessary properties of algorithms: input, output, definiteness, correctness, finiteness, effectiveness, and generality. Understand how to analyze the given problem scientifically and not by intuition. Understand how to write an algorithm to solve a given problem. Convert the algorithm into flowchart and ultimately to a given programming language. Introduction to program design and problem solving using the C programming language.
Review to program design and problem solving using the C programming language. Programming topics include control structures, functions, arrays, pointers, and file I/O. Control Statements Algorithms Pseudo-code, Selection Statement Repetition Statement Formulating Algorithms Compound Assignment Operators, Primitive data Types, Repetition Statement, Multiple-Selection Statement, Logical Operators. Functions Program Modules in C Declaring and using Functions Passing arguments by values and by reference Recursive functions Argument Promotion and Casting Math library functions Scope of Declarations. Arrays Declaring and Creating Arrays Examples Using Arrays Passing Arrays to Methods Multidimensional Arrays. Pointers and Strings Introduction to pointers and pointer arithmetic. Directly and indirectly referencing a variable Pointer operators & and * Pass-by-reference with pointer arguments Introduction to Strings and String manipulations Library string manipulation functions.
To learn and understand basic digital design techniques. Distinguish between a variety of decimal and alphanumeric codes. Acquire sound knowledge in the key principles and practices used in the design and analysis of a digital computer. Analyze related combinational circuits. Discuss the issues involved in hardware or software implementation of an instruction in a digital computer instruction set. Comprehend in-depth knowledge of advanced digital design principles and practice in real-world applications. Make an analysis and synthesis of sequential switching circuits
Introduction. OOP Programming basics. Functions. Classes and Objects. Constructor and Destructor. Inheritance: Derived class. Virtual Function, Files
The course covers network systems (interconnects and switch fabrics, network considerations) and relevant networking applications at the network, transport and application layer.
Understand basics of Logic design techniques. Acquire sound knowledge in the key principles and practices used in the design and analysis of computer logic. Analyze related sequential circuits. Understand the different types of Flip-Flops. Understand the operation and characteristics of Synchronous and Asynchronous counters. Recognize and understand the operation of various types of registers. Distinguish among the various types of memories. Describe the difference between read/write operations. Describe the components of microprocessor.
Introduction to Computer Organization & Architecture: Types of Computers, Processors. Primary and Secondary Memory I/O Devices. Digital Logic Circuits and Components: Digital Logic Circuits, Boolean Algebra K. Map simplifications. Combinational Circuits, Sequential Circuits. Data Representation: Data Types Complements. Fixed, Floating point representation. Binary Codes, Error detection Codes. Central Processing Unit: Register Organization .Stack Organization, Instructions Formats. Addressing, RISC . Overview of Pipeline and Vector Processing. The Instruction Set Architecture Level: Data Types, Instruction Formats Input Output Organization: IO interface, Asynchronous Data Transfer, Modes of Transfer. Memory Organization: Main memory, Auxiliary Memory, Associative Memory, Cache.
Data structures is an essential area of study for computer scientists and for anyone who will ever undertake a serious programming course. Use and implement fundamental data structures including stacks, queues, priority queues, lists, trees and hash tables. Use specified programming tool to develop and implement computer-based solutions to problems. Develop software by using different data structures studied. Learn to implement search and sorting algorithms including the quick sort, the heap sort and hashing. Learn to use recursion to solve problems. Do a Big-Oh analysis for their implementations of basic data structures.
Review of Object-Oriented Programming: Objects, Classes, Functions, Properties and Methods Review of Problem Solving, Algorithm Development, Control Structures, Arithmetic Expressions, Logic, Variables, Constants, and Primitive Data Types Abstract Data Types Data Structures: Sequential and Random-Access Files, Pointers & Lists, Stacks & Queues, Trees & Graphs Manipulating Data Using Methods Decision Making and Repetition with Reusable Objects Sorting and Searching Algorithms Templates & Standard Containers Using Collections and Strings in a Reusable Class Arrays & Vectors, Understanding Abstract Classes and Interfaces Interactive Objects, Scripts, Hyperlinks, & Event Handling Accessing Databases
Introduction to Computer Security and Privacy: The meaning of computer security, Comparing security with privacy . Types of threats and attacks, Methods of defense. Program Security: Secure programs, Non malicious program errors, Malicious code. Controls against program threats. Operating System Security: Methods of protection. Access control, User authentication. Network Security: Network threats, Firewalls. Intrusion detection systems: Internet Application Security and Privacy: Basics of cryptography. Security and Privacy for Internet Applications. Database Security and Privacy: Security and privacy requirements: Reliability, Integrity, Privacy, Inference, Data mining, K-anonymity. Non-technical Aspects: Administration of security systems, Policies, Physical security, Economics of security, Legal and Ethical issues.
In this course students should become familiar with designing database systems for business applications, and should become familiar with commercially available relational database technology. By the end of this course, the student will be able to: Understand the basic concepts, task, methods, and techniques in designing a database. Develop an understanding of the database designing process. Develop the ability to conceptualize the problem at hand. Learn the different Architecture of DBMS. Apply techniques for the design of a database system. Learn some of the appropriate design techniques. Develop the ability to select appropriate DBMS to the solution of the problem at hand.
This course serves the following purposes: To have a thorough knowledge of processes, scheduling concepts, memory management, I/O and file systems in an operating system. To have an overview of different types of operating systems. To know the components of an operating system. To have a thorough knowledge of process management. To have a thorough knowledge of storage management. To know the concepts of I/O and file systems.
This course concern with Computing as a Profession. Philosophical framework and Computer Ethics. Ethical issues in cyberspace. Theory of Justice, and Virtue Ethics); Applied Ethics, Computer Ethics. Personal data privacy in cyberspace. Copyright and intellectual property rights in cyberspace. Methods and Tools for Ethical Analysis
Field training is an integral part of the academic program the IT department, where students are required to work for a certain period in one of the government or private enterprises concerned information services in a government institution or quasi-governmental or private approved by the college plan part. So as to equip them with practical experience in the areas of specialization. Of field training for a full semester (six hours, twice a week throughout the semester). Under the student training period specified in the work site.
The final year projects course after finished 100 h, Students are expected to select topics of their projects and submit a project report on completion of the project. They are expected to do a presentation and perform a working demonstration of their selected project. This module will give students skills and experience in doing either an individual project or a group project
Topics include: computer arithmetic; numerical solutions of nonlinear equations; polynomial interpolation; numerical differentiation and integration; numerical solutions of systems of linear equations, initial and boundary value problems, systems of ordinary differential equations, spline functions, and the method of least squares.
This course has a practical emphasis on the design and techniques for developing internet-based applications, mainly focusing on web programming. Topics include HTML, client-side scripting language (JavaScript), server-side programming (Servlets, JSP, and J2EE), and XML/web services. This course will also cover some important topics needed for internet-based application developments, such as Internet architectures and web security. Course work includes substantial programming homework and team-based projects
This course aims to introduce the classic algorithms in various domains, and techniques for designing efficient algorithms. Upon successful completion of this course the student is expected to achieve the following goals: Compare algorithms that solve the same problem; Determine inefficiencies in algorithms and how to optimize them. Determine whether a problem has an algorithmic solution. Do the analysis of algorithms, in terms of time and space complexity, for solving a wide variety of common computing problems. Prove the correctness and analyze the running time of the basic algorithms for those classic problems in various domains. Apply the algorithms and design techniques to solve problems. analyze the complexities of various problems in different domains. Do a Big-Oh analysis for their implementations of basic data structures.
This course is aimed at helping students build up an understanding of how to develop a software system from scratch by guiding them thru the development process and giving them, the fundamental principles of system development with object oriented technology using UML. The course will initiate students to the different software process models, project management, software requirements engineering process, systems analysis and design as a problem-solving activity, key elements of analysis and design, and the place of the analysis and design phases within the system development life cycle.
The study of human-computer interaction enables system architects to design useful, efficient, and enjoyable computer interfaces. This course teaches the theory, design procedure, and programming practices behind effective human interaction with computers, and – a particular focus this quarter: smart phones and tablets. We will examine interaction design, implementation, and evaluation. The design process requires a solid understanding of the theory behind successful human-computer interaction, as well as an awareness of established procedures for good user interface design, including the ‘usability engineering’ process. Iterative evaluation is an important aspect of this procedure, and we will learn and practice prototyping and evaluation using scenario-based case studies. We will look at specific interface success stories and spectacular failures to learn from past experiences. Students will apply their gained knowledge in a series of practical assignments using the Android ecosystem that highlight selected portions of the design cycle, as well as familiarize them with sound programming practices and effective tools and techniques to create successful user interfaces. The course will also touch upon novel interfaces that go beyond what we normally see in today’s graphical user interfaces
Develop an understanding of the role of information systems in modern organizations. Define the systems analyst’s role and responsibilities in a typical organization. Describe different lifecycle models and explain the contribution of the systems analysis and design within them. Become familiar with a variety of information systems analysis and problem-solving tools and approaches. Understand the traditional and RAD (Rapid Application Development) systems development methodologies. Gain an insight of traditional analysis and design techniques: entity-relationship diagrams, data flow diagrams, and data dictionaries. Learn to use prototyping in the analysis and design phases of systems development. Learn to do project planning: defining the scope, purpose and activities of a project
Explain the basic principles of artificial intelligence. Apply logic and structured concepts in knowledge representation. Discuss the applications of Artificial Intelligence. Learn about computer systems that exhibit intelligent behavior, in particular, perceptual and robotic systems. Provide a broad survey of AI and Intelligent Systems (IS). To have an appreciation for and understanding of both the achievements of AI and the theory underlying those achievements. Enhance the learning experience in the AI course by implementing a unifying theme of machine learning to tie together the diverse topics in the AI course. Increase interest and motivation to learn AI by providing a framework for the presentation of the major AI topics that emphasizes the strong connection between AI and computer science.
This course covers multimedia concepts and applications utilizing text, graphics, animation, sound, video, and various multimedia applications in the design, development, and creation of multimedia presentations and publications within an interactive environment. Students will create a digital portfolio and other independent projects. Emphasis is placed on project based learning experiences to understand design issues.
Describe and determine the purpose and importance of project management from the perspectives of planning, tracking and completion of project. Compare and differentiate organization structures and project structures. Implement a project to manage project schedule, expenses and resources with the application of suitable project management tools. A broad and critical understanding of the processes for developing high quality software systems. The principles, concepts and techniques associated with software development. An ability to analyze and evaluate problems and draw on the theoretical and technical knowledge to develop and implement plans for their resolution. An awareness of current research in the management of software projects, the analytical skills and research techniques for their critical and independent evaluation and their application to new problems
The main purpose of course is to develop thorough understanding of students towards software design. This course focuses on techniques for software design in the development of large and complex software systems. Topics will include software architecture, modeling (including UML), object-oriented design patterns, and processes for carrying out analysis and design. More advanced or recent developments may be included at the instructor’s discretion. The course will balance an emphasis on design principles with an understanding of how to apply techniques and methods to create successful software systems. This course Introduces principles and practices of software development. Includes instruction in critical thinking, problem solving skills, and essential programming logic in structured and object- oriented design using contemporary tools.
Introduction to Software Design paradigms, Project Management, System and Software Requirements, Computer Aided Software Engineering, and Software Design Fundamentals using existing documentation for a proposed system. In-depth survey of data flow-oriented, object-oriented, data oriented, and real-time design. Team project involving the implementation of the proposed system using structured programming, information hiding, and strength and coupling measures. Software reviews. Software testing techniques and strategies. Software maintenance. Each student will be required to make an oral presentation as part of the team project.
This course presents formal models for the computation of functions and for the recognition and generation of languages. Introduction to the theory of automata and formal languages. Relationship with others Areas of Knowledge, Machines, Languages and Algorithms. Automata Theory, Introduction and Definitions. Mathematical model of an automaton, Automata and algorithms. Discrete, continuous, and hybrid automata. Classes of automata. Finite Automata, Definition and Representation of Deterministic Finite Automata (DFA). Definition and Representation of Nondeterministic Finite Automata (NDFA). Equivalence of DFA and NDFA .Languages and Formal Grammars. Operations with Words. Operations with Languages. Derivations. Concept of Grammar. Formal Grammar. Chomsky Hierarchy and Equivalent Grammar Context-Free Grammar Página 2 de. Language of a Context-Free Grammar. Parse Tree. Well-Formed Grammar. Chomsky Normal Form. Greibach Normal Form .Regular Languages. Kleene’s Theorem Characteristic equations, Synthesis Problem: Recursive Algorithm, Derivatives of Regular Expressions .Pushdown Automata. Definition of Pushdown Automata (PDA). From Context-Free Grammar to Push-Down Automata. From Pushdown Automata to Context-Free Grammar. Turing Machine. Computational Complexity
Understand the basic concepts, task, methods, and techniques in Data Mining. Develop an understanding of the data mining process and issues. Learn various techniques for data mining, and apply the techniques in solving data mining problems using data mining tools and systems. Understand why data preprocessing is an important issue for data mining and data warehousing. Develop the ability to conceptualize the problem at hand. Develop the ability to select methods and techniques appropriate for the solution of the problem. Be able to decide when to use which technique
This module aims to give students in depth information about system implementation techniques, data storage, representing data elements, database system architecture, the system catalog, query processing and optimization, transaction processing concepts, concurrency control techniques, database recovery techniques, database security and authorization, enhanced data models for advanced applications, temporal databases, deductive databases, database technology for decision support systems, distributed databases and client server architecture, advanced database concepts, and emerging technologies and applications.
Students are required to select three courses (9 Cr. H.) from the Computer Science Department or from the available elective courses from the other departments.
Solution of nonlinear Equations: Methods of Halving and Linear Interpolations, Iterative Methods, Errors Discussion, Computer Programming applications. Solving Sets of equations: Elimination Method of linear Sets, Croat’s Decomposition Scheme, Errors in solutions and Matrix Inversions, Iterative Methods, Errors in solutions, Solving Sets of Nonlinear Equations, Computer programming application. Numerical calculations of Eigen values, The power methods, Deflation and the power methods, Jacobi’s Methods. Curve fittings and Approximation of functions: Fitting by Least Square Methods, Fitting by Cubical Spline, Fitting by Orthogonal polynomials, Chebyshev Polynomials Economized power Series. Approximation by rational functions
Know the theoretical background and important techniques in compiler design. Describe the compilation process and its phases. Explain the principles of language translation including lexical, syntactic and semantic analysis and code generation. Develop a compiler for a small Java-like language using recursive descent parsing. Understand the technologies associated with implementing programming languages, viz. lexical analysis, syntax analysis, type checking, run-time data organization and code-generation. The students are expected to be aware of the way in which language features raise challenges for compiler builders. At the end of the course students should understand the overall structure of a compiler, and will know significant details of a number of important techniques commonly used.
The objective of this course is to provide students with the knowledge and skills required for developing expert systems and applying them in real-life application problems. Topics to be covered include: knowledge acquisition, knowledge representation techniques, inference methods, reasoning under uncertainty, design of expert systems, and introduction to an expert system programming tool, expert systems case studies. In the practical part of the course students are expected to design a small expert system using an expert system programming tool
This course is to show the features that span across many languages to help the student to be able to: Evaluate the strengths and weaknesses of different languages. Understand the historical reasons and the need that gave rise to many different programming languages. Discuss the features of the most successful and more influential programming languages. Compare the similarities and the differences among conventional (“procedural”), functional, object- oriented, as well as logical programming languages. Know the Implementation issues and the philosophy behind each category. Learn to apply features such as polymorphic types and exceptions
A selection of topics from the following: the challenges faced in constructing client/server software: partial system failures, multiple address spaces, absence of a single clock, latency of communication, heterogeneity, absence of a trusted operating system, system management, binding and naming. Techniques for meeting these challenges: RPC and middleware, naming and directory services, distributed transaction processing, ‘thin’ clients, data replication, cryptographic security, mobile code. Introduction to Java RMI.
Have a thorough overview of computer graphics. Provides the necessary mathematical background for introductory computer graphics and demonstrates the application of computer science and matrix theory to graphics. Perform homogeneous transformations. Parameterize curves for controlling object trajectories and improving rendering. Designing new viewing models. Cast simple shadows. Perform shading. Understand texture map
This course provides the basics of microprocessor based systems. Learn the interaction between hardware and software i.e. interfacing. Know the basics of Assembly Language. Know the process of compilation from high level language to assembly language to machine language. Know the architecture of microprocessors like 8085, 8086 and higher versions and microcontrollers. Describe general architecture of a microcomputer system. Have basic knowledge of the memory and I/O interfaces; address decoding, and bus transactions.
Construction of linear programming problems: Production planning, transportation systems, diet problems. Graphical methods for solving two and three dimensional linear programming problems. Simplex method: General approach, algorithms containing all possible case: infinite number of solutions, unbounded solution. Computer applications of simplex method. The route scheduling problems: minimal spanning trees, shortest route problems, algorithms and applications. Formalization of network models the maximum flow problem: Construction of mathematical models, algorithms. Critical path analysis: CPM and PERT method, algorithms and applications
Specialized study within an area of Computer Science, guided by a supervisor. Topics include theoretical and applied aspects of Computer Science. Combines guided reading and research with a significant individual or group project component.