Recommended Text:
-
Faithe Wempen, Microsoft Word 2010 in Depth, 2010, Que
-
Matthew Macdonald, Excel 2013 The Missing Manual, 2013, O’Reilly
-
Selected readings
CSC – 111 Creating Web Content
Credit Hours: 4
Pre-requisite: Nil
Course objectives:
This course is an introduction to the creation, design, publication and promotion of web pages and other web content. The main technologies used during the course will include HTML and CSS. Students will create and maintain a blog through the duration of the course. At the conclusion of the course, students will develop and deploy a complete website.
Course Outline:
Introduction to the World Wide Web.Blogs and monetization. Web hosting.Domains.HTML text elements. Lists and tables. Inline formatting.Adding graphics. Linking pages. Audio and video. Style sheets. Selectors. Colors. Text alignment and spacing. Fonts. Style based layouts. Web authoring software. Multipart pages. Adding Java Script. Buttons and menus.
Recommended Text:
-
Creating A Website: The Missing Manual by Matthew MacDonald 3rd Edition (2011) O'Reilly Media
CSC - 203 Computer Networks
Credit hours: 3
Pre requisite: CSC - 107 Fundamentals of Computers
Course Objective:
This course gives an overview of computer networks from the business user's perspective, enabling the students to understand networking concepts and how they can be used to derive a strategic advantage in business.
On the course completion, the students will have thorough knowledge of the layered architecture of computer networks and the operation of main protocols in the TCP/IP model. This course will enable the students to compare and contrast different design issues of core functions within a computer network.
Topics include:
Introduction to Signals, Wireless and conducted media as well as the selection criteria, Sources of error, error detection and control, LANs including a discussion of hardware (such as bridges and hubs), software (including network management software and utilities) and protocols (such as DHCP), Medium Access Control. Routing and congestion control, WAN protocols (such as TCP, UDP and IP, ICMP, SMTP), NATs, Network architectures (such as client server and peer to peer), Addressing and subnet masks, HTML, Network and computer security.
Text Book:
-
Data Communications and Computer Networks – A Business User's Approach, 5th Ed., Cengage Learning, 2009.
CSC - 204 Data Structures
Credit hours: 4
Pre requisite: CSC - 213 Object Oriented Programming
Course Objective:
The focus of the course is to introduce data structures and problems solving techniques using C++. The objective is to enable the students to understand logical structures of data, their physical representation, design and analysis of algorithms operating on the structures, and techniques for program development and debugging. Alsointroduce them to study advanced data structures.
At the conclusion of the course students will be able to select and use the most appropriate data structure for designing and implementing efficient programming solutions
Topics include:
Data structures and ADTs. Algorithm analysis. Recursion and dynamic programming. Lists, stacks and queues. Trees, binary search trees, AVL trees, Huffman trees, Heaps and BTrees. Hashing. Sorting algorithms(including Heap sort, Bubble sort, Insertion sort, Selection sort, Merge sort, Quick sort, Bucket sort and radix sort). Graph representation and graph algorithms (including BFS, DFS, Topological sort, spanning trees and shortest paths). The covered topics would then be applied in lab exercises.
Text Book:
-
Mark Allen Weiss, Data Structures and Algorithm Analysis in Java, 2rd Ed., Addison-Wesley, 2006.
-
Data Abstraction and Structures in C++ by Larry Nyhoff.
-
Introduction to Data Structures in C++ by SartajSahani.
CSC - 205 Computer Organization & Assembly Language
Credit hours: 4
Pre-requisite: CSC - 104 Digital Logic Design
Course Objective:
This course provides an introduction to the internal organization of computer systems, including the relationship between a computer's hardware, its native instruction set, and the implementation of high level languages on that machine. In addition to the theoretical aspect, assembly language programming is also included using the x86 based Microsoft Macro Assembler (MASM), to give a hands-on experience.
Topics include:
Introduction to assembly language programming. Number systems recap. Variable declaration. Registers. Data movement. Character data. Input and output. Arithmetic instructions. Selection structures. Iterations structures. Logic instructions. Procedures. Macros. Arrays. Strings. Selected machine language instructions.
Text Book:
-
Guide to Assembly Language: A Concise Introduction by James T. Streib (2011) Springer
CSC - 206 Event Driven Programming
Credit hours: 4
Pre-requisite: CSC - 108 Intro. to Programming
Course Objective:
This course is designed for developers who are moving to Visual Basic with some understanding of basic programming concepts. You will learn Visual Basic syntax, event-driven programming, VB forms and controls and how to handle run-time errors, debug, and add simple database support to your applications.
At the end of this course, students will demonstrate ability to design graphical user interfaces (GUI) in Visual Basic. This will provide them the ability to develop integrated multiform projects with database connectivity.
Topics include:
What is an event, introduction to Project and form, managing forms and controls, difference between properties and methods, object events, data types, input and output methods, conditional structures, iteration structures, arrays, control arrays, VB common controls, menus, MDI forms, designing and managing dialog boxes, procedures and functions, modules, built-in functions, error handling and database programming, Creating tables, Connecting databases.
Text Book:
-
Programming with Microsoft Visual Basic 6.0, Diane Zak, Enhanced Edition
-
Mastering VB6 by Evangelos Petroutsos
CSC - 210 Data Communications & Networks
Credit hours: 3
Pre-requisite: CSC - 107 Fundamentals of Computers
Course Objective:
The course deals with the study of data communications and the use of networks. Students will understand the rules and regulations that allow computers with different operating systems, languages, cabling and locations to share resources.
At the conclusion of the course students should have an essential knowledge about the computer networks in general and the way the client server applications work. They should also be in a position to develop a simple client server communication setup at their own.
Topics include:
Network Architecture, OSI and TCP/IP Layers, Physical Layer, Transmission Media, Analog and Digital Communication, Transmission Impairments, Network performance, Digital to Digital Conversion, Line coding, Block coding, Scrambling, Analog To Digital Conversion, PCM, Sampling, Quantization, Encoding, Digital-to-analog conversion: ASK, FSK, PSK, QAM, Constellation diagram, Analog-to-analog conversion, AM, FM, PM, Mux, Demux, FDM, WDM, TDM, Network layer and subnetting LANS, routing protocols, TCP/IP segment, IP packet and Data Link, Network timing and Congestion Control, Peer-to-peer and client-server programming using sockets in TCP or UDP, Applications used in every-day network-related tasks. Wireless and Mobile networks.
Text Book:
-
Data Communications and Networking, 4th edition (2007)By Behrouz A. Forouzan, ISBN 978-0-07-325032-8 (McGraw-Hill)
CSC - 211 Database Management Systems
Credit hours: 4
Pre-requisite: CSC - 108 Intro. to Programming
Course Objective:
This course will teach you theoretical knowledge and practical skills in the use of databases and database management systems in information technology applications. The logical design, physical design and implementation of relational databases are covered as well as some of the challenges and problems in the design and operation of enterprise level database systems.
Upon completion of this course, the students will be able to create conceptual and logical database designs for a business problem and to provides users with required business queries and reports.
Topics Include:
Introduction, Terms and Definitions relating to OS and DBMS (In brief), Data models (hierarchical, network, relational, object oriented), Database architecture (Conceptual,
Logical & Physical), Database – SQL, Entire relationship model (keys, cardinality, ER-diagram, role, dependencies), Relational Data model (Relations, Integrity rules), Normalization (Functional dependencies, 1NF, 2NF, 3NF & BCNF).
Text Book:
-
Fundamentals of Database Systems By Ramez Elmasri & Shamkant B. Navathe
-
Modern Database Management, By Jeffrey A. Hoffer, Mary B. Prescott, Fred R. Mc Fadden
-
Database Management Systems, By Raghu Ramakrishna and Johannes Gehrke,
-
Database Systems, By C. J. Date, Addison Wesley Pub. Co.
CSC - 211 Database Management Systems – MBC+FBC
Credit hours: 4
Pre-requisite: CSC - 108 Intro. to Programming
Course Objective:
This course aims to provide students a well-rounded introduction to Database Management Systems and design of databases geared for their most effective performance. Fundamentals of database modeling and design are covered in detail to make the students understand the importance of these aspects in developing databases and applications. This is to understand the significant role played by databases in business, education, law and library science today.
Topics Include:
Advantages of databases over traditional file systems, data models, schemas, logical and physical data models, ER modelling, relational data models, constraints, violations, cardinalities, enhanced ER models, mapping ER to relations, Normalization: 1NF, 2NF, 3NF and BCNF, SQL, creating tables, inserting and updating data, different clauses, database security and recovery, data warehousing introduction and OLAP cubes, intro to data mining and modelling. SQL Server 2008 is used for practicing the queries.
Text Book:
-
Fundamentals of Database Systems Sixth Edition BY Ramez Elmasri, Shamkant B. Naathe
-
Database Systems: Design, Implementation, and Management, Seventh Edition, Peter Rob, Carlos Coronel
CSC - 213 Object Oriented Programming
Credit hours: 4
Pre-requisite: CSC - 108 Introductions to Programming
Course Objective:
This Course gives an overview of Object Oriented Paradigm and implementation using C++/JAVA. Emphasis will be on lectures as well as practical labs. Students can understand how to design real world problems using Abstraction, reusability through inheritance, Object communication through Messaging and Object Security through information Hiding. Students should complete extensive lab work to cope with the theoretical lecturesand have to submit practical assignments along with final project which covers all aspects of the course.
This is core course to learn basics of software development and enable them to easily penetrate into software engineering markets.
Topics include:
Object Oriented Paradigm (Abstraction, Inheritance, Encapsulation, Information Hiding, Association, Aggregation, Messaging, Polymorphism), Class Fundamentals, Introducing Methods, Constructors, This Pointer/Reference, Access Modifiers, Finalize Method, Method Overloading, Object Parameterization and returning, Recursion, Static Keyword, Nested and Inner Classes, Inheritance Basics, Introducing Super, Multilevel hierarchy, Method Overriding, Abstract Classes, Final keyword and inheritance, Polymorphism, polymorphic behavior, Packages, Access Protection, Importing Packages, Defining and Interface, Implementing Interfaces, Applying Interfaces, Interfaces can be extended, Exception Types, Uncaught Exceptions, Using try and catch, Nested try statements, throw, throws, finally, Built-in exceptions, Streams, Types of Streams, Reading Console input, Writing console out put, Reading and writing files.
Text Book:
-
How to program C++ 9th Edition by Dietel&Deitel.
-
Java How to Program 9th Edition by Dietel&Deitel.
-
The Complete Reference: JAVA 2 by Herbert Schildt, (Edition 4 or 5)
CSC – 215 Web Systems Development
Credit Hours: 3
Pre-requisite: Nil
Course objectives:
The objectives of this course are
-
To demonstrate the potential and applicability of Web engineering through a study of its evolution and its emerging trends
-
To give an overview of existing technology in sufficient depth such that it provides a foundation for students to develop professional web applications
Course Outline:
Introduction to the Web. Dynamic web content. Development servers. Introduction to PHP. Introduction to MySQL. Accessing MySQL Using PHP. Form handling. Cookies. Sessions. Authentication. Introduction to JavaScript. Form validation and error handling. Using Ajax. Using XMLHttpRequest. Introduction to CSS. Accessing CSS from JavaScript. HTML5 canvas. HTML5 audio and video.
Recommended Text:
-
Robert W. Sebesta. Programming the World Wide Web. 2012.
-
Robin Nixon. Learning PHP, MySQL, JavaScript, CSS & HTML5, Third Edition. O’Reilly 2014.
CSC - 216 Introduction to Software Engineering
Credit hours: 3
Pre-requisite: CSC – 108 Intro. To Programming
Course Objective:
Software engineering is the branch of computer science that creates practical, cost-effective solutions to computing and information processing problems, preferentially by applying scientific knowledge, developing software systems in the service of mankind. This course covers the fundamentals of software engineering, including understanding system requirements, finding appropriate engineering compromises, effective methods of design, coding, and testing, team software development, and the application of engineering tools.
Topics Include:
Topics include:
Topics include: Introduction; Software Lifecycle, Extreme Programming, Prototyping and Requirements, Requirements Engineering, Data Flow diagrams, Use case Modeling, UML notation, Software Design, Information Hiding, coupling/cohesion, Software Architecture, Testing Techniques.
Text Book:
-
Software Engineering 9E by Ian Sommerville, Addison Wesley; 8th Edition (2006). ISBN-10: 0321313798
-
Software Engineering: A Practitioner's Approach by Roger S. Pressman, McGraw-Hill Science/Engineering/Math; 7th Edition (2009). ISBN-10: 0073375977.
CSC - 302 Computer Architecture
Credit hours: 3
Pre-requisite: CSC - 104 Digital Logic Design
Course Objective:
This course gives an overview of machine level representation of data, memory system organization and CPU structure and functions and the control Unit operation. The course will also cover the critical role of performance in computer design.
At the conclusion of the course the students will have good understanding of the major architectural styles and their impact in the context of programming.
Topics include:
Computer architecture history, basic parts of a computer, the conventional von Neumann model of a digital computer, System Bus Model, Fixed and floating point numbers, Radix of number and conversion among Radices, Floating point representation in computers, Floating point arithmetic, BCD code, Instruction set architecture, Memory, CPU, RISC computer, Languages and the Machines, Compilation process, Linking, Loading and Macros, Data path and control, ARC201 control, Hardwired control, Hard descriptive language introduction and sample problems, Memory Hierarchy, RAM, Chip organization, RAM expansion, ROM, cache, Virtual Memory, Overlays, paging, segmentation, Virtual versus cache, I/O, clocking issue, synchronous and asynchronous bus, Intel Pentium Architecture, Intel architecture, Mass storage, input devices, Output devices.
Text Book:
-
Principles of computer architecture, class test edition – august 1999 by Miles J Murdocca, Vincent P. Heuring
CSC - 305 Human Computer Interaction
Credit hours: 3
Course Objective:
This course will help students appreciate the importance of user friendly design and will enable them to design technology such that it is easy and convenient for people to use. It will cover conducting fieldwork with users, rapid prototyping and comparative evaluation techniques to help get design ideas. It will also include principles of visual design, perception and cognition to enable students to become better designers of technology.
Course Outlines:
Origin of HCI.The design process.User focus.Prototyping.Evaluating designs.Needfinding.Rapid prototyping.Evaluation techniques.Heuristic evaluation. Design heuristics. Direct manipulation.Mental models.Representations.Cognition.Visual design.Typography.Grids and alignment.Reading and navigation.Designing studies.Assigning participants.Running web experiments. User testing
Text Book:
-
Human Computer Interaction by Alan Dix, Janet Finlay, Gregory D. Abowd, Russel Beale. 3rd Edition. (2004) Pearson Education.
-
The Design of Everyday Things by Donald A. Norman (1990) Double Day.
CSC - 310 ERP Systems
Credit hours: 3
Pre-requisite: MGT - 201 Management Information Systems
Course Objective:
The objective of this course is to give an overview of Enterprise Resource Planning (ERP) systems. The different components of an ERP system, namely, Sales and Marketing, Finance and Accounts, Human Resource Management, Supply Chain management will be discussed with a view to explain how organizations can use ERP systems to solve business problems in the above areas.
The course will enable the students to critically analyze business practices and to identify all components in an ERP system and the relationships among these components.
Topics include:
History and development of ERP systems. Marketing Information system: sales order process, customer relationship management. Production and Supply chain management: sales and operations planning, demand management, material requirement planning, production data planning. Accounting in ERP systems: credit management, profitability analysis, management reporting. Human Resource management in ERP systems. Process modeling and Process improvement in ERP systems: Event Process Chain (EPC) diagrams. ERP systems and electronic commerce.
Text Book:
-
Concepts in Enterprise Resource Planning by Monk and Wagner 3rd Edition (2009) Thomson Course Technology
CSC - 313 Object Oriented Analysis & Design(*)
Credit hours: 3
Pre-requisite: CSC - 213 Object Oriented Programming
Course Objective:
This course gives conceptual understanding of real world problem statements into object oriented analysis and object oriented design of the problem, this course has core importance from the application development perspective. Initially the focus will be to clear the concepts and why we need to design and model systems before development followed by the understanding of the different design patterns and the modeling language like UML.
Topics include:
Domain Analysis, Unified Modeling Language Introduction, Requirement Modeling, Use Case diagrams, Understanding the role of Use cases in functional requirements, design, testing and project estimation, Supplementary Specifications, Business and Domain Modeling,Crud Analysis, Activity Diagram, Design Begins,
Sequence and Collaboration diagrams (Design level), Advanced Attributes, Use Case realization with Design pattern, More on Singleton, Player Role Pattern, Proxy Pattern, Grasp Patterns, Applying GOF patterns includes (Façade, Factory, Singleton Factory, Adapter, Strategy), UML State Machine, A complete case study to overview all artifacts of an application will include the refinement of all the phases
Text Book:
-
Object Oriented Software Engineering by Lethbridge &Langaniere
-
Applying UML and patterns An introduction to Object Oriented Analysis and Design and the Unified process By Craig Larman 3Rd edition (2004) Addison Wesley
-
Unified Modeling language User Guide
-
Grady Booch, James Rambaugh and Ivar Jackobson, 2nd Edition (2005) Addison Wesley Professionals
CSC - 314 Study of Algorithms
Credit hours: 3
Pre-requisite: CSC - 204 Data Structures
Course Objective:
This course is designed to provide students with an understanding of the principles and techniques used in the design and analysis of algorithms. The course is primarily theoretical. We will discuss and analyze a variety of data structures and algorithms chosen for their importance and their illustration of fundamental concepts. It shall emphasize analyzing the worst-case running time of an algorithm as a function of input size. At the conclusion of this course the students will demonstrate an understanding to analyzing algorithms and estimating their worst-case and average-case behavior. They will be able to trace the execution of several sorting, searching and graph algorithms.
Topics include:
Introduction to algorithms. characteristics of algorithms, algorithm design, algorithm analysis Understanding Space Complexity (for simple and recursive algorithms), Asymptotic Notations, Recursion and Recurrence Relations, Sorting Algorithms, Algorithm Design Strategies: Brute Force, Divide and Conquer, , Greedy Algorithms, Greedy Strategy Applied To Graph Algorithms, Dynamic Programming, Graph Traversal Algorithms, Branch n Bound (Back Tracking Algorithms). Solving Recurrence Relations. Many examples of application of these strategies for example Merge Sort, Quick sort, Knapsack Problem, Huffman Encoding Algorithm, Activity Selection Algorithm, Fractional Knapsack Problem, Graphs Representation, Graph Traversal, Breadth-first Search, Depth-first search, Minimum Spanning Trees, Computing MST: Generic Approach, Kruskal's Algorithm, Prim's Algorithm, Single Source Shortest Paths (Bellman Ford), Dijkstra's Algorithm etc.;
Dostları ilə paylaş: |