SWE-2K12 5th Semester Course Contents

Visual Programming

Course Title: Visual Programming
Course Code: ITEC 510
Degree Program: BS (Software Engineering) P-III (1st Semester)
Course rating: 3 credit hours
Pre-requisites: Data Structures & Object Oriented Programming

Course Objectives:

To equip the graduates with the knowledge of using the components and rules of the chosen programming language (i.e. Visual Basic 6.0) to implement a working version of a software product that meets typical quality standards.

Syllabus Outline:

  • Introduction: Introduction of Visual Programming: Event Driven Programming, Object Based Language and Visual Basic.

  • Creating Simple Interfaces: Form Basics, Setting Form Properties, Defining the Startup Form, Adding Controls to a Form, Pacing Controls on a Form, Setting Control Properties, Events, Writing Code for an Event, Accessing the Code Editor, Running the Application.

  • Using Variables & Constants: Variables, Understanding the Common Type System, Declaring & Using Variables, Naming Requirements, Option Explicit, Assignment, Scope, Using Constants, Type Conversion, Structures, and Arrays.

  • Using Procedures: Procedure basics, Creating & calling Sub Procedures, Creating & calling Function Procedures, Using Arguments, Passing Standard Arguments, Passing ByRef, Passing Arrays, Optional Arguments, Overloading, Using Built-in Functions and Using the Sub Main. Operators & Expressions: Operators, Building Expressions, Using Strings

  • Control of Flow Logic: Using the If...Then Structure, Using the Select Case Structure, Using the Do...Loop Structure, Using the For...Next Structure and Using the For Each...Next Structure

  • Working with Forms: Creating Form Instances, Working with Multiple Forms, Drag & Drop

  • Windows Controls: Overview of Windows Controls, Label, TextBox, Button, CheckBox, RadioButton & GroupBox, PictureBox, Panel, ListBox, CheckedListBox, ComboBox, TabControl, DateTimePicker, MonthCalendar, Timer, ImageList, Splitter, DomainUpDown, NumericUpDown, ToolTip, ContextMenu, ToolBar, StatusBar, ErrorProvider and NotifyIcon

  • Using Dialogs: MessageBox, InputBox, Common Dialogs, Creating Custom Dialog Forms

  • Multiple Document Interface: Why MDI, Creating MDI Windows, MDI & Menus, Cascade & Tile

  • File IO: Directory & DirectoryInfo Classes, File & FileInfo Classes, Stream Classes, StreamReader & StreamWriter Classes, StringReader & StringWriter Classes

  • Database Connection: Types of database connectivities in Visual Basic

Learning Material/References:

* Visual Basic 6.0. HOW TO PROGRAM by Deitel & Deitel, T. R. Nieto

* Mastering Visual Basic 6.0 by Evangelos Petroutsos

Client Server Technology

Course Title: Client Server Technology
Course Code: SENG-512
Degree Program: BS (Software Engineering) P-III (1st Semester)
Course rating: 2 credit hours
Pre-requisites: Java Programming, Computer Networks & TCP/IP, & Database Systems

Course Objectives:

This course integrates analysis, design and programming of information systems in a client server environment. . The focus of the course is on the study of middleware and enabling technologies that are used in building distributed environments and client/server applications.

Syllabus Outline:

  • Overview: Client/Server Development with RPC, CORBA, and DCE, Middleware

  • Sockets: Sockets overview, Java Sockets, Sockets with Winsock Remote Procedure Calls and RMI: Introduction to RPC, Internetworking with TCP/IP, Using The RPC Compiler, JAVA Remote Method Invocation, RMI Interface Files

  • Intermission LAN and WAN: LANs, WANs and Protocols, Operating Systems, Groupware

  • DBMS Introduction: Connecting to Databases with ODBC and JDBC, Using Oracle with JDBC

  • CORBA: Introduction to CORBA, CORBA Interface Definition Language, CORBA with the Java JDK, OMG CORBA Security Model

  • Java 2 Enterprise Edition: JAVA 2 Enterprise Edition Overview, Enterprise Java Beans, Combining Enterprise Java Beans with CORBA

  • Other Technologies: JBOSS, Web Logic, Web Sphere, Open EJB, JINI, JXTA, Bluetooth

Learning Material/References:

* Orfali, R., Harkey, D., and Edwards, J. (1993). Essential Client-Server survival Guide, New York: Van Nostrand Reinhold.

* Java 2 Enterprise Edition 1.4 Bible, McGovern et al, Wiley 2003

* Douglas E. Comer and Donald L. Stevens, Internetworking With TCP/IP, Volume III, Prentice Hall.

Database Systems

Course Title: Database Systems
Course Code: ITEC 514
Degree Program: BS (Software Engineering) P-III (1st Semester)
Course rating: 3 credit hours
Pre-requisites: Data Structures

Course Objectives:

The course introduces the theoretical and practical concepts used to develop and implement relational database applications for business. Special emphasis is placed on data modeling, database design and normalization, and relational database querying through SQL.

Syllabus Outline:

  • Databases and Database Users: Introduction, Characteristics of Database Approach, Advantages and Disadvantages of Using DBMS.

  • Database System Concepts and Architecture: Data Models, Schemas and Instances, DBMS Architecture and Data Independence, Database Language and Interfaces, Classification of Database Management Systems.

  • Data Modeling Using The Entity Relationship Model: Entity Types, Entity Sets, Attributes And Keys, Relationships, Relationship Types, Roles, And Structural Constrains, Weak Entity Types, ER Diagrams, Naming Conventions And Design Issues.

  • The Relational Data Model, Relational Constrains & Relational Algebra: Relational Model, Relational Constraints And Relational Database Schema, Update Operations And Dealing With Constraint Violations, Basic Relational Algebra Operations.

  • Writing Basic SQL Select Statements: SQL SELECT Statement, Basic SELECT Statement, Selecting Columns, Arithmetic Expressions, Defining Null Value, Column Alias, Concatenation Operator, Literal Character Strings, Overview of iSQL*Plus.

  • Restricting and Sorting Data: Using where clause, Comparison Conditions, Between, IN, LIKE, NULL, Logical Conditions, Order By Clause.

  • Displaying Data From Multiple Tables: Cartesian Products, Equi Join, Non-equi Join, Outer Join, Self Join, Natural Join

  • Group Functions: AVG, SUM, MIN, MAX, COUNT, Group By & Having Clause

  • Subqueries: Using a subquuery, Single row subquery, Multiple Row Subquery. Manipulating Data: Introduction to DML, INSERT, UPDATE, DELETE, Creating and Managing Tables: Database Objects, Create Table Statement, Data types, Alter Table Statement, Dropping a table, adding comments to a table.

  • Including Constraints: Defining Constraints, NOT NULL Constraint, UNIQUE Constraint, PRIMARY KEY Constraint, FOREIGN KEY Constraint, CHECK Constraint

  • Views: Creating View, Querying a View, Rules for Performing DML operations on the view, Removing Views.

  • Functional Dependencies and Normalization for Relational Databases: Informal Design Guidelines for Relation Schemas, Functional Dependencies, Normal Forms Based on Primary Keys, General Definitions of Second and Third Normal Forms.

Learning Material/References:

* Database Systems: A Practical Approach to Design, implementation, and Management’ 3ed, Connely and Begg (Addison Wesley, 1999)

* An Introduction to Database System’ 7ed, CJ Date (Addison Wesley, 2000)

Computer Communication & Networks

Course Title: Computer Communication & Networks
Course Code: ITEC 516
Degree Program: BS (Software Engineering) P-III (1st Semester)
Course rating: 2 credit hours
Pre-requisites: Nill

Course Objectives:

The aim of this course is to help students to gain an understanding of terminology and standards in modern day computer networks. To make the students gain an understanding of communication basics, networking and network technologies, emphasizing data and computer communication within the framework of the OSI and TCP/IP protocol architectures, internet and internetworking and how to apply these in design and analysis of networks.

Syllabus Outline:

  • Computer Network Architectures and Models: A Communication model, Data Communication and Networking, Protocol Architecture, A Simple Protocol Architecture, OSI Model, Standardization with in the OSI Framework, Services Primitives and Parameters, The OSI Layers, TCP/IP Protocol Architecture, The TCP/IP Layers, TCP and UDP, Operation of TCP/IP.

  • Communication Concept and Terminology: Transmission Terminology, Frequency, Spectrum and Bandwidth, Analogue and Digital Data, Analogue and Digital Signals, Analogue and Digital Transmission, Transmission Impairment, Attenuation, Delay Distortion, Noise, Channel Capacity, Nyquist Bandwidth, Shannon Capacity.

  • Guided and Wireless Transmission: Guided Transmission Media, Twisted pair, Coaxial Cable, Optical Fibre, Wireless Transmission, Antennas, Terrestrial Microwave, Satellite Microwave, Broadcast Radio, Infrared, Wireless Propagation, Line-of-Sight Transmission.

  • Signal Encoding Techniques: Digital Data Nonretrun to Zero, Multilevel Binary, Biphase, and Modulation Rate.

  • Digital Data Communication: Asynchronous and Synchronous Transmission, Types of Error, Error Detection, Line Configuration, Interfacing.

  • Data Link Control, Flow Control: Stop and Wait, Sliding Window, Error Control, Stop and Wait ARQ, Go Back N ARQ, HDLC, Basic Characteristics, Frame Structure and Operation. Multiplexing, FDM, TDM, ADSL, xDSL.

  • Circuit and Packet Switching:  Switched Communication Networks, Circuit Switching Concepts, Control Signalling, Soft switch Architecture, Packet Switching Principles X.25, Frame Relay.

  • ATM, ATM Logical Connection: ATM Cell, Transmission of ATM Cell, ATM Layers.

  • Routing in Switched Network: Routing in Circuit Switching Networks, Routing in Packet Switching Networks, Least Cost Algorithm, Dijkstra’s Algorithm. Congestion Control, Effects of Congestion, Congestion Control, Traffic Management.

  • LAN Systems Background: Topologies and Transmission Media, LAN Protocol Architecture, Bridges, Layer 2 and Layer 3 Switches.

  • High-Speed LANs: Emergence of High Speed LANs, Ethernet, Token Ring, Fibre Channel.

  • Wireless Networks: Overview, Wireless LAN Technologies, IEEE 802.11 Architecture and Services.

  • Internetworking and Routing: Basic Protocol Function’s, Principle of Internetworking, Connectionless Internetworking, Internet Protocol, IPv6, Internetworking Operations, Multicasting, Routing Protocols, Autonomous System, RIP, BGP, OSPF.

  • TCP and UDP Protocols: Connection-Oriented Transport Protocol Mechanism, TCP Services, TCP Header Format, TCP Mechanism, TCP Conjunction Control, UDP. Network Security, Security Requirements and Attacks, Confidentiality, Public and Privet Key Algorithm. Network Applications, SMTP, MIME, HTTP, SNMP.

Learning Material/References:

* Data Communications & Networking by Behroz Forouzan

* Data and Computer Communications by William Stallings

* Computer Networks, 4th Edition by Andrew S Tanenbaum

Formal Method

Course Title: Formal Method
Course Code: SENG-518
Degree Program: BS (Software Engineering) P-III (1st Semester)
Course rating: 3 credit hours
Pre-requisites: Discrete Structures & Introduction to Software Engineering

Course Objectives:

To provide the main concepts involved in the mathematical specification of software system, without encumbering too much mathematical detail.

Syllabus Outline:

  • Introduction: Formal methods used, describing system properties, properties of a formal specification, consistency, completeness and lack of ambiguity.

  • Mathematics in Software Development: Describing a physical situation, an object, or the outcome of an action, software process, transition between software engineering activities.

  • Mathematical Preliminaries: Mathematical notations, Sets and sequences, Logical notation used in predicate calculus.

  • Styles of formal methods for reasoning about software: model checking and deductive verification.

  • Formal Specification Languages: components of formal specification languages, Syntax, Syntactic domain, Semantic domain

  • Logics: First-order predicate logic and modal logic, Writing and understanding formal specifications, using the Object Constraint Language (OCL) and the Java Modeling Language (JML) as an examples, Translating specifications into a logical representation, Hoare logic and Dynamic logic Integrating testing and verification: generating test cases from verification proofs, verification for a real-world programming language

Learning Material/References:

* Bowan, J.P and M.G.Hinchely, “Ten Commandments of Formal Methods,”

* A. Diller, Z An Introduction to Formal Methods (2nd ed.), Wiley, 1994.

Software Construction

Course Title: Software Construction
Course Code: SENG-428
Degree Program: BS (Software Engineering) P-III (1st Semester)
Course rating: 3 credit hours
Pre-requisites: System Analysis & Design

Course Objectives:

The general theme of this course is Software Design and Specification Using Specification Formalisms and Industrial Strength CASE Tools.

Syllabus Outline:

Requirement engineering: Using CASE tools, Tools for model-driven construction, Introduction to Middleware

  • Basic principles of requirements analysis: General principles and techniques for disciplined low-level software design.

  • Introduction to languages and compiler: Formal languages: syntax and semantics; grammars; Backus Nauru Form. Parsing; regular expressions and their relationship to state diagrams

  • Parsing concepts: parse trees; context free grammars, LL Parsing

  • Overview of principles of programming languages: Criteria for selecting programming languages and platforms

  • Tools for automating software design and construction: Modeling system behavior with extended finite state machines

  • Other Issues: SDL, Concept of concurrency, Implementation design, verification and validation

Learning Material/References:

* R. Braek and O. Haugen, Engineering Real Time Systems - An object-oriented methodology using SDL, Prentice Hall, 1993 

* A. V. Aho, R. Sethi and J. D. Ullman, Compilers, Principles, Techniques and Tools, Addison Wesley, 1986,
Like this post?? Share with your friends.