NFC Institute of Engineering and Fertilizer Research, Faisalabad
Section Course Outline Report
Department: Computer Science (IEFR) Printed Date: 08-Apr-2020
Section Course Detail
Semester FALL 2015
Department Computer Science (IEFR)
Section A
Subject Title CS-141 Introduction to Computing
Contact [email protected]
M easureable Student Learning Outcomes
CLOs Description PLOs Level
CLO1 Solve the problem algorithmically for implementation on computers. PLO03 Low
CLO2 Describe the Number Systems. PLO01 Medium
CLO3 Explain the concepts of computer architecture, software engineering, data PLO12 Low
structures, operating systems, computer networks and databases, at an
introductory level.
Grading Policy
Quiz 1 10.0% , Quiz 2 10.0% , sessional 10.0% , mid 30.0% , final 40.0%
Class Timings
Section Content
Week Topics
(Lec)
week1 Introduction to Computer Science
a. The Role of Algorithms
b. The History of Computing
c. The Science of Algorithms
d. Abstraction
e. An Outline of Our Study
f. Social Repercussions
week2 Data Storage
a. Bits and their storage
i. Boolean Operations (AND, OR, XOR)
ii. Gates and Flip Flops
iii. Hexadecimal Notation
b. Main Memory
i. Memory Organization
week3 Data Storage
c. Representing information (text, numbers) as bit patterns
d. The Binary System
i. Obtaining the binary representation
ii. Binary system addition
iii. Fractions in the Binary
e. Storing Integers
i. Two’s complement notation (Overflow)
ii. Adding in two’s complement notation
week4 Data Storage
f. Storing Fractions
i. Floating-point Notation (Truncation Errors)
g. Mass Storage
i. Magnetic disk storage system
ii. CD/DVD Storage Format
iii. Magnetic Tape
week5 Data Manipulation
a. Computer Architecture (von-Neumann Architecture)
i. Central role of Control Unit (CU)
ii. Networks Flexibility of Execution
week6 Data Manipulation
b. Machine Language
i. Instruction categories (dividing/adding/subtracting values stored in memory)
ii. Composition of Machine Instructions
iii. Simple Machine Architecture (Decoding Instructions)
week7 Data Manipulation
c. Machine Cycle
i. Decoding JUMP Instruction
ii. Program Execution (with Example)
d. Arithmetic Logic Instructions
e. Communication with other devices
f. ‘Von Neumann Architecture’- Problem
‘Von Neumann Architecture’- Alternatives (Pipelining, Parallel Processing)
week8 Introduction to Algorithms
Development of Program
Pseudo Code and Defining Diagram
Control Structure Statements
Examples
week9 Operating Systems
a. History of Operating System
b. Operating System Architecture
i. Software Classification
ii. Components of an Operating System
c. Coordinating the Machine’s Activities
i. The concept of a Process
ii. Process Administration and Time Sharing
iii. Inter-Process Communication (Client-Server Model)
d. Handling Competition among Processes (Problems faced?)
i. Semaphores (its solution)
ii. Deadlock (its solution)
week10 Networking and the Internet
a. Networks
i. Network History
ii. Different Network Classifications (LAN, MAN, WAN, Closed v/s Open Ownership)
iii. Network Topologies (Bus, Star)
iv. Network Protocols (CSMA/CD, CSMA/CA)
v. Combining/connecting Networks (Repeater, Bridge, Switch, Router)
b. The Internet
i. Internet Architecture (ISP, Access ISP)
ii. Internet Composition
iii. Structure of the Internet
iv. Basic of IP Addressing
week11 Internet and Networks
Mnemonic Address
Domains and Sub-Domains
Domain Name Server
Traditional Internet Applications
The layered Approach to Internet Software
week12 Software Engineering
a. Engineering Example
b. Software vs. Real-world Engineering
c. Large/complex software systems
d. Research in Software Engineering
e. The Software Life Cycle
f. Software Engineering Methodologies / Trends in Software Engineering
g. Modularity
i. Modularity in OO Systems
ii. Inter-Modules Dependencies
(Coupling: Control Coupling & Data Coupling, Cohesion: Logical Cohesion & Functional Cohesion)
h. Design Methodologies
i. Tools of the Trade
j. Design Patterns
k. Testing
l. Documentation
week13 Data Abstractions (Data Structures)
a. Basic Data Structures (Arrays, Lists, Stacks)
b. Static vs. Dynamic Structures
i. Pointers
c. Implementing Data Structures
i. Storing Arrays (Homogeneous Arrays)
ii. Storing Lists (Contiguous List, Linked List, Structure of a Linked List)
I. Deleing an entry from a Linked List
II. Inserting an entry into a Linked List
iii. Storing Stacks
week14 Database Systems
a. File Structures (Files, Directories and Operating Systems)
i. Files: Conceptual vs. Actual View
ii. Sequential Files
iii. Text Files
iv. Text files & Markup Languages (e.g. HTML)
v. From actual storage to conceptual view
vi. Data Conversion
vii. Quick File Access
viii. Inverted Files
ix. Hashing (Hash Function: Example)
week15 Database Systems
b. Database Structures
i. Historical Perspective
ii. Integrated Database System
iii. Disadvantages of Data Integration
iv. Conceptual Database Layers
v. The Relational Model
vi. Issues of Relational Design
vii. Redesign by extraction of 3 concepts
viii. Relational Operations
ix. The SELECT operation
x. The JOIN operation
week16 Revision
Chairman Signature: _________________