{block name="title"}{setting name="site_name"}{/block}
GUST Directory | Contact Us

Course Description & Syllabi

Computer Science Courses: 

CSC 102 Application Development for Beginners 3.00

Prerequisite: (ENGL 100 pre or co) . CS & MIS students can take course only before finishing 45 credits.

Introduction to application development. Topics include: basics of problem solving techniques, game programming, mobile applications, and website development. (Syllabus)


CSC 122 Introduction to Computer Programming 3.00

Prerequisite: ENGL 098/100/110/112 & CS student

An introductory course to problem solving and computational thinking usingcomputer programming. Topics include: problem solving fundamentals,programming basics, variables and expressions, input/output, controlstructures, functions, strings, and files. (Syllabus)


CSC 123 Fundamentals of Web Design 3.00

Prerequisite: ENGL 100 Pre or Co-requisite

Web design practices using modern technologies. Topics include: Web sitebasic elements, Web page design, creating site content, and launching a Website. (Syllabus)


CSC 125 Object Oriented Programming I 3.00

Prerequisite: CSC 122

Programming fundamentals from an object oriented design perspective. Topics include: basic procedural concepts, objects, classes, interface, methods, encapsulation, information hiding, and inheritance. (Syllabus)


CSC 130 Discrete Structures 3.00

Prerequisite: CSC 122 & (MATH 098 CO/PRE-REQUISITE )

This course introduces discrete structures. Topics include: basic logic, sets, relations, functions, proof techniques, counting methods, recursion, trees and graphs. (Syllabus)


CSC 225 Programming and Data Structures 3.00

Prerequisite: CSC 125 & CSC 130

This course is an introduction to data structures. Topics include recursion, lists, trees, stacks, queues, graphs and hash tables. An introduction to time complexity. (Syllabus


CSC 226 Object Oriented Programing II 3.00

Prerequisite: CSC 225

Object oriented analysis and design concepts. Topics include: domain modelling, use cases, architectural design, modelling notations and implementation techniques. (Syllabus)


CSC 230 Digital Systems 4.00

Prerequisite: CSC 125

Introductory course in digital logic and its specification and simulation. Number systems. Binary arithmetic. Boolean algebra. Combinational logic design. Sequential logic design (controllers). Data Path components (e.g. Registers, adders, register files , etc.). Memory components (e.g. RAM, ROM). Register transfer level (RTL) design. (Syllabus)


CSC 235 Programming Challenges 3.00

Prerequisite: CSC 225

Practicing advanced problem solving techniques: arrays, stacks, queues, strings, sorting, arithmetic, algebra, combinatorics, number theory, backtracking, geometry, graphs algorithms and traversals. Introduction to dynamic programming, preparing students majoring in computer science for international and regional ACM programming contests. (Syllabus)


CSC 270 Computer Systems: Architecture and Organization 3.00

Prerequisite: (CSC 230) or (CSC 225 & REQ_TERM<=0703)

Computer architecture and organization. Performance evaluation, instruction set architecture, datapaths, control unit, pipelining, memory hierarchy, storage and other I/O topics. (Syllabus)


CSC 271 Computer Systems: Programming 3.00

Prerequisite: CSC 270

An introduction to assembly language including data representation, data storage, arithmetic, control flow, integers and character I/O, stacks, and procedures. (Syllabus)


CSC 280 Introduction to Mobile Application Programming 3.00

Prerequisite: CSC 226

Survey of mobile application issues. Introduction to latest web technologies (HTML 5) for building mobile web applications. Mobile OS including Android and iOS (iPhone/iPad). (Syllabus)


CSC 301 Web Programming Techniques 3.00

Prerequisite: CSC 123 & CSC 226 & CSC 361 Pre or Co-Requisite

Web programming, languages and techniques. Topics include: client and serverside scripting, dynamic websites, database access through the Web, security, and authentication. (Syllabus)


CSC 313 Design and Analysis of Algorithms 3.00

Prerequisite: CSC 225

Basic techniques for design and analysis of efficient algorithms. Sorting, searching, graph algorithms and string processing. Design techniques such as dynamic programming and the greedy method. Asymptotic, worst-case and average-case analysis. Data structures including heaps, hash tables and trees. (Syllabus)


CSC 325 Concepts of Programming Languages 3.00

Prerequisite: CSC 226

Principles of programming language design. Specification of syntax and semantics. Underlying implementation of block structured languages. Dynamic memory allocation for strings, lists and arrays. Imperative versus applicative programming. First order logic and logic programming. Lambda calculus and functional programming languages. Modern programming languages. (Syllabus)


CSC 326 Object Oriented Design Patterns 3.00

Prerequisite: CSC 226

In-depth study of object-oriented design patterns. Topics include: creational patterns, structural patterns, and behavioral patterns. Pattern's intent, motivation, applicability, participants, collaborations, consequences, and implementations. (Syllabus


CSC 350 Software Engineering 3.00

Prerequisite: CSC 226

Concepts of software engineering and methodologies. Topics covered: software life cycle, software processes, models and methods for software specification and software analysis and design. Object-oriented analysis and design using UML. An introduction to testing. Relationships between software engineering and global concerns and sustainable development. (Syllabus)


CSC 351 Software Requirements & Business Analysis 3.00

Prerequisite: CSC 350

Introduction to modern business analysis. Topics include: planning and monitoring, elicitation, requirements, analysis, solution assessment and validation, requirements management and communication, business problems identification, business cases development and plans for achieving effective solutions. (Syllabus


CSC 361 Database Management Systems 3.00

Prerequisite: CSC 313 PRE OR CO

Fundamentals of Database Management Systems. Modern database models. Basic database management concepts. Query languages. Relational algebra and relational calculus. Database design through normalization. Development experience in a team environment. (Syllabus)


CSC 380 Mobile Computing 3.00

Prerequisite: CSC 226

Survey of mobile programming issues. Introduction to latest iOS technologies for building mobile applications using Mobile database, Geolocation service, Audio/Vidoe multimedia handling, Introduction to Cloud computing. (Syllabus


CSC 404 Introduction to eCommerce 3.00

Prerequisite: CSC 361 Pre or co-requisite

A technical introduction to electronic commerce (eCommerce) over the Internet. Electronic data interchange. Digital currency and electronic catalogs. Telecommunications infrastructure. Data Warehousing. Software agents and storage retrieval of multimedia information. Cryptographic techniques as applicable to website development. Management of data in a secure manner. Authentication and confidentiality. Different levels of security (transaction, network, and protocol), and digital signatures. (Syllabus


CSC 405 User Interface Development 3.00

Prerequisite: CSC 226

This course focuses on user interface design standards as a programmingproblem. Theories on interaction design. Interaction styles, design patterns fordifferent application areas. Principles of visual communication. Analysis of auser interface from a communication perspective. (Syllabus


CSC 410 Software Testing & Quality Assurance 3.00

Prerequisite: CSC 350

Techniques for software validation and verification. Topics include: concepts of software quality (metrics, assurance, planning & implementation, process standards, validation, verification, reviews, walkthroughs and inspections). Software testing process and techniques at different levels. Validating test data. (Syllabus


CSC 420 Software Maintenance & Reengineering 3.00

Prerequisite: CSC 350

Taxonomy of software maintenance and evolution, evolution and maintenance models, reengineering, legacy information systems, impact analysis, refactoring, program comprehension, principles of reuse and reverse engineering, approaches and tools used to extract information from existing software systems. (Syllabus


CSC 430 Introduction to Artificial Intelligence 3.00

Prerequisite: CSC 313

This course covers Turing test, blind search, iterative deepening, production systems, heuristic search, A* algorithm, minimax and alpha-beta procedures, predicate and first-order logic, resolution refutation and non-monotonic reasoning. (Syllabus)


CSC 444 Digital Image Processing 3.00

Prerequisite: CSC 226 & MATH 210 & MATH 221

Introduction to digital image processing. Digital image fundamentals. Intensitytransformations and spatial filtering. Filtering in frequency domain. Imagerestoration and reconstruction. Color image processing. Image compression.Image segmentation. (Syllabus)


CSC 451 Capstone Project 3.00

Prerequisite: CSC 350 & CSC 361

The senior capstone course provides computer science students the opportunity to employ knowledge gained from courses throughout the curriculum to develop a software solution to a real-world problem from conception to completion. Students work in teams to develop software applications. Advanced methods related to requirements analysis, software design, project management, documentation and testing, programming techniques, and database designs will be applied on an incremental basis since the emphasis is on semester-long capstone team projects. (Syllabus


CSC 473 Computer Networks & Communications 3.00

Prerequisite: CSC 313 & MATH 221

Digital data communication systems in hardware and software, synchronous and asynchronous communication, standards, protocols, network configurations, network applications. (Syllabus


CSC 476 Operating Systems 3.00

Prerequisite: CSC 270 & CSC 313

Survey of operating system issues. Introduction to hardware and software components including: processors, peripherals, interrupts, management of processes, threads and memory, deadlocks, file systems, virtual machines and I/O systems. (Syllabus


CSC 477 Principle of Network Security 3.00

Prerequisite: CSC 473 co-requisite

Basic and advanced concepts in cryptography and network security: symmetric and asymmetric cryptography, key management, e-mail security, IP security, Web security, intruders and malicious software. (Syllabus)


CSC 489 Topics in Computer Science 3.00

Prerequisite: Senior Standing

Topics in Computer Science


CSC 492 Practicum in Computer Science 3.00

Prerequisite: (CSC 473 & CSC 361) Pre or Co-requisite

Practicum in Computer Science prepares students for successful computing related careers. The course aims to train and certify the students with market demanding fields such as computer networks, database systems, computer system/ applications, business and leadership etc. (Syllabus)


For all GUST courses, Course Descriptions can be found here