Font size
  • A-
  • A
  • A+
Site color
  • R
  • A
  • A
  • A
University of Malakand
  • Menu

University of Malakand

Chakdara, Dir Lower, Khyber Pakhtunkhwa

Bridging the gap between aspirations and achievements
  • Log in

    Access to the platform

    Forgotten your username or password?

    New account
  • Log in
Skip to main content

Department of Software Engineering

  1. Home
  2. Courses
  3. Faculty Of Information Technology
  4. Department of Software Engineering
  • « Previous
  • 1
  • 2 (current)
Introduction to Information and Communication Technologies (Lab)
Abdur Rehman

Introduction to Information and Communication Technologies (Lab)

Demonstrate knowledge about the practical aspects of the computer systems.

Acquire knowledge of different features of Operating Systems and typing tools to achieve the ability for developing solutions of Engineering problems.

Justify time and resource allocation to complete the assigned task

Report the outcome of an experiment/task in a standard format.


Access
Introduction to Information and Communication Technologies
Abdur Rehman

Introduction to Information and Communication Technologies

The course of Introduction to information and communication technologies is planned to cover the basic areas of this field. The course starts with number Systems, Binary numbers, Boolean logic, History of the computer system, Basic Machine Organization, Computer Types According to Capability, Von Neumann Architecture, Algorithm definition, Types of Software, System Software, Application Software, Types of Software License, Programming paradigms and languages, Graphical Programming, Introduction to Computer Programming, Overview of Software Engineering and Information Technology, Operating system, Compilers, Computer networks, and the Internet, Computer graphics, AI, Social and legal issues in computers, Moore's Law, IC fabrication technologies.

The following tools may be used for conducting lab work;

Python, Microsoft Office, Basic Hardware, Basic Networking Hardware.

Access
Agile Software Development
Abdur Rehman

Agile Software Development

The course of Agile software Development is planned to cover the basic areas of this field, the course starts with Brief Introduction to Plan Driven Development, Methods and Processes, Introduction and overview of agile methods, Agile Model, Agile Manifesto,  Values of Agile Modeling, Principles of Agile Modeling, Practices of Agile Modeling, Introduction to Extreme Programming (XP), Concepts and values, XP Activities, Rules and Principles, XP Practices; Fine Scale feedback, Pair programming, Continuous Process, Shared Understanding, Test-driven development (TDD), Tools and frameworks for testing and mocking, Introduction to Scrum, Role of Product Owner, Development Team, Events; Sprint, Meetings, Extensions, Backlog refinement, Artifacts; Product backlog, sprint backlog, Product Increment, Sprint Burndown Chart, Release Burndown chart, Scrum-ban, Tooling, Limitations, Refactoring, Comparisons of iterative development and architecture-centric/ design-driven development methods, Importance of TDD in software development using dynamic languages, Test coverage monitoring, Improving performance and quality.

Access
Global Software Development
Sana Ullah

Global Software Development

Global Software Development (GSD) is an advanced course in software engineering that embark students to develop the technical and organizational skills needed to practice software engineering in a globally distributed environment. The course gives an overview of the GSD paradigm and discusses concepts like benefits and risks related to Global Software Development, Software Development outsourcing on the basis of Geographic Location, and Relationship-based outsourcing, the course also covers different types and modes of software development outsourcing e.g. onshore, nearshore and offshore outsourcing. Moreover, Globalization issues in project management are also discussed in this course.

Access
Computer Communication and Networks
Sana Ullah

Computer Communication and Networks

This course is designed to provide students with an overview of the concepts and fundamentals of data communication and computer networks. Topics to be covered include data communication concepts and techniques in a layered network architecture, network topologies, communications switching and routing, types of communication, network model components, layered network models (OSI reference model, TCP/IP networking architecture) and their protocols, various types of networks (LAN, MAN, WAN and Wireless networks) and their protocols network layer routing, link layer multiple access protocols, MAC addresses and Ethernet, packet switching, circuit switching and physical technologies.

Access
Operting Systems
Sana Ullah

Operting Systems

The purpose of this course is to provide an overview of computer operating systems. Topics to be discussed include a brief history and evolution of Operating Systems, Operating System Structure, Services provided by OS, Process Concepts, Threads and Multithreading, CPU scheduling algorithms, and different Operating Systems Functionalities i.e. File management, Memory management, and secondary storage management, etc.

Access
Human Computer Interaction
Abdur Rehman

Human Computer Interaction

The course of Human-Computer Interaction is planned to cover the basic areas of this field, to provide a firm foundation for research in this area. The course starts with an introduction to HCI, human psychology, and its relation to computing. It then discusses the various interaction modes that are available at present and throws light on innovative user interfaces that are being researched. Afterward, the course links to software design principles and some recognized theories in this regard.

After the mid-term exams, the course is planned to teach about the requirements and design heuristics of an HCI-based software design. User research and user modeling are intended to be discussed over a period of two to three weeks in the semester, due to the immense significance of the users in this course. Finally, the course is winded up with some talk on the design synthesis and challenges in the context of HCI.

 


Access
Database Systems
Zeeshan Danish

Database Systems

1. Explain the Fundamental Database Concepts

2. Design conceptual, logical and physical Database Schemas using different Data models.

3. Identify Functional Dependencies and resolve Database anomalies by normalizing database tables.

4. Structured Query Language (SQL) for Database definition and manipulation in any DBMS. 

Access
Formal Methods in Software Engineering
Shaukat Ali

Formal Methods in Software Engineering

Course Objectives and Related Program Educational Objectives

In this course students learn how to represent computing systems with both state-based and process algebra models.

They specify computing systems formally, reason about specifications, and verify their properties. They connect specifications to program through refinement and decomposition. 

They use theorem proving and model checking tools.


Access
Object Oriented Programming SE 2nd Semester
khalil Ullah

Object Oriented Programming SE 2nd Semester

This course introduces the concepts of object-oriented programming to students with a background in programming fundamentals using C++. The course begins with introduction to the object-oriented programming paradigm, focusing on the definition and use of classes along with the fundamentals of object-oriented design. Other topics include an overview of programming language principles, UML, simple analysis of algorithms, basic searching and sorting techniques, event-driven programming, memory management and an introduction to software engineering issues.

Access
Software Requirements and Specifications
Abdur Rehman

Software Requirements and Specifications

The course of Software Requirements and Specifications is planned to cover the basic areas of this field. The course starts with an introduction to SRS, the basics of requirements engineering. The social, cultural, political, and technical issues in requirements engineering. It then discusses the various activities in requirements engineering (requirements elicitation, analysis and negotiation, validation, and management).  After the mid-term exams, the course is planned to teach about the requirements traceability, requirements documentation. Use-case modeling, object-oriented static modeling, functional modeling, and dynamic modeling techniques applicable to requirements engineering.

Access
Software Development and Testing
Shaukat Ali

Software Development and Testing

Course Outline:

Basics of formal languages; syntax and semantics; grammars; Backus Naur

Form. Parsing; regular expressions and their relationship to state diagrams.

Lexical Analysis; tokens; more regular expressions and transition networks;

principles of scanners

Using tools to generate scanners; applications of scanners. Relation of scanners and compilers.

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. SDL Representing concurrency, and analyzing concurrent designs.

Sample labs and assignments:

- Use of software engineering tools to create designs

- Use of parser generators to generate languages

Testing Overview

Testing Types (Manual Testing, Automation testing)

Testing Methods (Block Box, White Box, Gray Box)

Levels of Testing (Functional Testing, Non Functional Testing)

Testing Documentation (Test Plan, Test Scenario, Test case, traceability matrices)

Testing Estimation Techniques (Functional Point analysis, Mark-II Method)


Access
Computer Communication & Networks  (LAB)
Abdur Rehman

Computer Communication & Networks (LAB)

The Lab will give students a good understanding of basic functions on which modern communication systems are built. It will be a required basis for working in this area.

The following tools will be used for conducting lab work;

Packet Racer, Switch, Routers, Networking Cables and Connectors, MATLAB, Riverbed Modeler

Access
Open Source Software Development
Bilal Karim

Open Source Software Development

Access
Emperical Software Engineering
Bilal Karim

Emperical Software Engineering

This course is for students who are interested in the empirical methods applied to the field of software engineering. The course introduces quantitative and qualitative evaluation methods in software engineering. 




Access
Software Process Improvement
Bilal Karim

Software Process Improvement

All software engineering is based on one or more processes that guide how software is developed with particular time, cost or quality goals. Process improvement aims to learn from current practice and objectively assess potential improvements.

Access
Web Engineering Lab
Jehangir Muhammad Khan

Web Engineering Lab

4th Semester

Department of Software Engineering

Access
Object Oriented Programming Lab (Spring 2020)
Jehangir Muhammad Khan

Object Oriented Programming Lab (Spring 2020)

This course has been compiled to assist the conduct of practical classes for CS 151L “Object Oriented Programming”. Practical work relevant to this course aims at introducing the basic as well as advance concepts of objects oriented programming using C++ language such as class, object, inheritance, multiple inheritance, polymorphism, function and operator overloading.
The Course Profile of CS-503L “Object Oriented Programming” lays down the following Course
Learning,,Outcome:
CLO-X Practice computer programming using object oriented paradigm (Lab work).
Lab Rubrics to evaluate student performance have been provided.


Access
Introduction to Software Engineering
Jehangir Muhammad Khan

Introduction to Software Engineering

1.  Describe  various  software  engineering  processes  and

activities

2.  Apply the system modeling techniques to model a medium

size software system

3.  Apply software quality assurance and testing principles to

medium size software system.

4.  Discuss key principles and common methods for software

project management such as scheduling, size estimation,

cost estimation and risk analysis


Access
Web Engineering
Jehangir Muhammad Khan

Web Engineering

Web Engineering introduces a structured methodology utilized in software engineering to Web development projects. The course addresses the concepts, methods, technologies, and techniques of developing Web sites that collect, organize and expose information resources. Topics covered include design methods and technologies, interface design, usability of web applications, accessibility, testing, operation and maintenance of Web applications, security, and project management. Specific technologies covered in this course include client-side (HTML, JavaScript, and CSS) and server-side (PHP).

Access
  • « Previous
  • 1
  • 2 (current)

Stay in touch

info-cms@uom.edu.pk

  • https://www.uom.edu.pk
  • Mobile : +92-945-9250502-3
  • info-cms@uom.edu.pk
Data retention summary
Get the mobile app