Sei sulla pagina 1di 49

Chapter 5.

Data
97
keep a List of the Positions of the empty holes on the board. Yet another pos-
sibility is to keep a List of Lists, where each List corresponds to one row on the
board. The elements in each of the Lists are Booleans representing whether or
not there is a peg at that position. The good thing about data abstraction is we
could pick any of these representations and change it to a different representa-
Chapter 5. Data
97
keep a List of the Positions of the empty holes on the board. Yet another pos-
sibility is to keep a List of Lists, where each List corresponds to one row on the
board. The elements in each of the Lists are Booleans representing whether or
not there is a peg at that position. The good thing about data abstraction is we
could pick any of these representations and change it to a different representa-
tion later (for example, if we needed a more efficient board implementation). As
long as the procedures for implementing the Board are updated the work with
the new representation, all the code that uses the board abstraction should con-
tinue to work correctly without any changes.
We choose the third option and represent a Board using a List of Lists where
each element of the inner lists is a Boolean indicating whether or not the cor-
responding position contains a peg. So,
make-board
evaluates to a List of Lists,
where each element of the List contains the row number of elements and all the
inner elements are
true
(the initial board is completely full of pegs). First, we de-
fine a procedure
make-list-of-constants
that takes two inputs, a Number,
n
, and
a Value,
val
. The output is a List of length
n
where each element has the value
val
.
(
define
(
make-list-of-constants n val
)
(
if
(
=
n
0
)
null
(
cons val
(
make-list-of-constants
(

Page
1
of
5
Agenda item no 14, approved by Academic Council in its 73rd Meeting held on Wednesday 30
th
May, 2018

Bachelor of Science in Information Technology


(BSIT)
Scheme of Studies
(2015
-
2017)
Approved scheme of study of BS Information Technology
(134 Cr. Hrs), applicable on
all BSIT
batches inducted in Fall 2015 semester and onwards
(updated in Fall 2017).
Upon the recommendation of Board of Studies and Board of
Faculty, the Academic
Council of the IIUI approved this scheme in its 73
rd
meeting held on Wednesday, 30
th
May 2018.
Degree
Requirements (minimum 134 Credit hours)
Category
Grouping
Credit
Hours
% of Total Courses
Information
Technology Courses
Computing
-
Core Courses
44
62%
Information Technology Courses
18
Information Technology Electives*
21
General Education
Courses
University Required Courses (UR)
24
38%
Other Courses*
27
Total Credit hours
134
*Minimum credit hours
required from the
course offered
in
the
group
Information Technology Courses
Computing Core Courses (44 Credit Hours)
#
Code
Course
Title
Cr. Hrs.
1
CS
102
Introduction to Computing
4
2
CS
111
Programming Fundamentals
4
3
SE
101
Object Oriented Paradigm
4
4
CS
291
Discrete Structures
3
5
CS
212
Data Structure and Algorithms
3
6
CS
223
Digital Logic and Design
3
7
CS
224
Operating Systems
4
8
CS
242
Introduction to Database Systems
4
9
SE
203
Introduction to Software
Engineering
3
10
CS
372
Computer Communications and Networks
3
11
SE
431
Human Computer Interaction
3
12
IT
400
Senior Design Project
6
Information
Technology
--
Core Courses (18 Credit Hours)
#
Code
Course Title
Cr.
Hrs.
1
3
IT 181
Fundamentals of Information Technology
3
14
IT 331
Web Systems and Technologies
3
15
IT 361
Multimedia Systems and Design
3
16
IT 371
Systems and Network Administration
3
17
IT 471
Introduction to Network Security
3
18
IT 421
System Integration and Architecture
3
Page
2
of
5
Agenda item no 14, approved by Academic Council in its 73rd Meeting held on Wednesday 30
th
May, 2018
Information Technology
--
Elective Courses (Minimum 21 Credit hours)
Student of BSIT are required to pass a minimum of
21 credit hours from the courses
given below. This is a tentative list and Department of CS &
SE may offer other course
to students based on educational trends.
Code
Course Title
Cr. Hrs.
CS
443
Advance Database Management Systems
3
SE
241
Advanced
Computer Programming
3
SE
301
Advanced Software Engineering
3
CS
452
Artificial Neural Networks
3
SE
452
Business Process Automation
3
IT 372
Communication Systems Design
3
IT 374
Communication Technologies
3
CS
361
Computer Graphics
3
CS
471
Data
and Network Security
3
CS
371
Data Communication
3
CS
474
Data Security and Encryption
3
CS
341
Database Technologies
3
SE
432
Design Patterns
3
CS
491
Digital Signal Processing
3
SE
381
Distributed Application Development
3
SE
342
Distributed
Computing
3
SE
343
Enterprise System Development
3
IT 442
Information Retrieval
3
MG 491
Information System Audit
3
IT 341
Information Systems
3
BI
391
Introduction to Bio
-
Informatics
3
CS
446
Introduction to Data Mining
3
IT
441
Introduction to
Data Warehousing
3
CS
492
Introduction to Digital Image Processing
3
IT 373
Introduction to Information Security
3
SE
359
Introduction to Software Metrics
3
IT 451
Knowledge
-
Based Systems
3
CS
422
Microprocessor Interfacing
3
IT
332
Mobile
Application Development
3
SE
321
Object Oriented Analysis and Design
3
CS
402
Operations Research
3
IT
391
Organizational Behaviour
3
CS
431
Principles of Programming Languages
3
CS
426
Real
-
Time Systems
3
CS
362
Simulation and Modelling
3
SE
481
Software Development Technologies
3
SE
361
Software Engineering Economics
3
SE
472
Software Testing
3
CS
421
System Programming
3
IT 481
Technology Management
3
CS
473
Telecommunication Systems
3
CS
401
Topics in Computer Science
3
IT
491
Topics in
Information Technology
3
SE
491
Topics in Software Engineering
3
CS
331
Visual Programming
3
SE
341
Web Based Application Development
3
Page
3
of
5
Agenda item no 14, approved by Academic Council in its 73rd Meeting held on Wednesday 30
th
May, 2018
Code
Course Title
Cr. Hrs.
CS
432
Web Engineering
3
IT
333
Web Services
3
CS
472
Wireless Networks
3
CS
451
Artificial Intelligence
3
CS
411
Compiler Construction
3
CS
321
Computer Architecture
3
CS
322
Computer Organization and Assembly Language
3
CS
314
Theory of Automata & Formal Languages
3
CS
213
Design and Analysis of Algorithms
3
SE
302
Software Construction
3
SE
331
Software
Design and Architecture
3
SE
322
Formal Methods in Software Engineering
3
SE
461
Software Project Management
3
SE
471
Software Quality Engineering
3
SE
311
Software Requirements Engineering
3
General Education Courses
University Required Courses (24
Credit Hours)
#
Code
Course Title
Cr. Hrs.
1
GC
101
Understanding Quran I
3
2
GC
102
English I (English Composition & Comprehension)
3
3
GC
103
Understanding Quran II
3
4
GC
104
English II (Communication Skills)
3
5
GC
105
Basics Of Academic Writing
3
6
GC
106
Islamic World View & Civilization

I
3
7
GC
107
Islamic World View & Civilization

II
3
8
GC
109
Pakistani Culture & Society
3
Other courses (Minimum 27 Credit Hours)
Student of BSIT are required to pass a minimum of 27 credit hours
from the courses given below.
This is tentative list and Department of CS & SE may offer other
course(s) to students based on
educational trends.
Code
Course Title
Cr. Hrs
MATH
110
Calculus & Analytical Geometry
3
MATH
121
Linear Algebra
3
MATH
352
Multivariate Calculus
3
MATH
401
Numerical Computing
3
MATH
241
Differential Equation
3
ST
301
Probability & Statistics
3
GE
112
Professional & Ethical Issues
3
GC
191
Basic Electronics
3
GC
151
Introduction to Finance
3
GC
152
Introduction to
Management
3
GC
204
Introduction to Sociology
3
GC
205
Introduction to Psychology
3
GC
131
Media Studies
3
GE
401
Entrepreneurship
3
GE
402
Industrial Seminar
1
Page
4
of
5
Agenda item no 14, approved by Academic Council in its 73rd Meeting held on Wednesday 30
th
May, 2018
Tentative Semester Wise Course Offering (BSIT)
Tentative course offering plan for BS
Information Technology degree offered from
Fall 2015
-
17 is given below in a semester wise format:
1
st
Semester
Course Code
Pre
-
Req
Course Title
Cr Hrs
CS 102
-
Introduction to Computing
4
MATH 110
-
Calculus & Analytical Geometry
3
GC 102
-
English I
(English Composition & Comprehension)
3
GC 191
-
Basic Electronics
3
CS 291
-
Discrete Structures
3
Total Credit Hrs
16
2
nd
Semester
Course Code
Pre
-
Req
Course Title
Cr Hrs
CS 111
-
Programming Fundamentals
4
CS 223
GC
191
Digital Logic Design
3
GC
104
-
English II (Communication Skills)
3
IT 181
-
Fundamentals of IT
3
GC 101
-
Understanding Quran I
3
Total Credit Hrs
16
3
rd
Semester
Course Code
Pre
-
Req
Course Title
Cr Hrs
SE 101
CS 111
Object Oriented Paradigm
4
GC 105
-
English
-
III (Basics
of Academic Writing)
3
CS 242
CS 212
Introduction to Database Systems
4
GC 103
-
Understanding Quran II
3
MATH 352
-
Multivariate Calculus
3
Total Credit Hrs
17
4
th
Semester
Course Code
Pre
-
Req
Course Title
Cr. Hrs
CS 372
-
Computer Communications
& Networks
3
CS 212
SE 101
Data Structure & Algorithms
3
GC 106
-
Islamic World View & Civilization
-
I
3
MATH 121
-
Linear Algebra
3
ST
301
Probability & Statistic
3
SE 203
Introduction to Software Development
3
Total Credit Hrs
18
Page
5
of
5
Agenda item no 14, approved by Academic Council in its 73rd Meeting held on Wednesday 30
th
May, 2018
5
th
Semester
Course Code
Pre
-
Req
Course Title
Credit Hrs
IT 331
-
Web Systems & Technologies
3
CS 224
-
Operating System
4
IT 391
-
Elective

I
3
GC 107
-
Islamic World View & Civilization
-
II
3
-
General Education Course
3
IT 361
Multimedia Systems
& Design
3
Total Credit Hrs
19
6
th
Semester
Course Code
Pre
-
Req
Course Title
Credit Hrs
IT 371
Systems and Network Administration
3
IT 341
-
Elective

II
3
-
General Education Course
3
-
Elective

III
3
-
Elective

IV
3
-
Elective

V
3
Total Credit Hrs
18
7
th
Semester
Course Code
Pre
-
Req
Course Title
Credit Hrs
IT 481
-
Elective

VI
-
Technology Management
3
SE 431
Human Computer Interaction
3
IT 471
Introduction to Network Security
3
IT 421
System Integration & Architecture
3
Elective

VI
3
General Education Course
3
Total Credit Hrs
18
8
th
Semester
Course Code
Pre
-
Req
Course Title
Credit Hrs
SE 400
-
Software Project
6
GC 109
-
Pakistan Culture & Society
3
-
General Education Course
3
Total Credit Hrs
12

Chapter 5. Data
97
keep a List of the Positions of the empty holes on the board. Yet another pos-
sibility is to keep a List of Lists, where each List corresponds to one row on the
board. The elements in each of the Lists are Booleans representing whether or
not there is a peg at that position. The good thing about data abstraction is we
could pick any of these representations and change it to a different representa-
tion later (for example, if we needed a more efficient board implementation). As
long as the procedures for implementing the Board are updated the work with
the new representation, all the code that uses the board abstraction should con-
tinue to work correctly without any changes.
We choose the third option and represent a Board using a List of Lists where
each element of the inner lists is a Boolean indicating whether or not the cor-
responding position contains a peg. So,
make-board
evaluates to a List of Lists,
where each element of the List contains the row number of elements and all the
inner elements are
true
(the initial board is completely full of pegs). First, we de-
fine a procedure
make-list-of-constants
that takes two inputs, a Number,
n
, and
a Value,
val
. The output is a List of length
n
where each element has the value
val
.
(
define
(
make-list-of-constants n val
)
(
if
(
=
n
0
)
null
(
cons val
(
make-list-of-constants
(

Chapter 1. Computing
11
Since the picture is divided into discrete squares known as
pixel
s, we could en-
pixel
code this as a sequence of bits by using one bit to encode the color of each pixel
(for example, using
1
to represent black, and
0
to represent white). This image
is 16x16, so has 256 pixels total. We could represent the image using a sequence
of 256 bits (starting from the top left corner):
0000011111100000
0000100000010000
0011000000001100
0010000000000100

0000011111100000
What about complex pictures that are not divided into discrete squares or a fixed
number of colors, like Van Gogh’s
Starry Night
?
Different wavelengths of electromagnetic radiation have different colors. For
example, light with wavelengths between 625 and 730 nanometers appears red.
But, each wavelength of light has a slightly different color; for example, light with
wavelength 650 nanometers would be a different color (albeit imperceptible to
humans) from light of wavelength
650.0000001
nanometers. There are arguably
infinitely many different colors, corresponding to different wavelengths of visi-
ble light.
3
Since the colors are continuous and not discrete, there is no way to
map each color to a unique, finite bit sequence.
3
Whether there are actually infinitely many different colors comes down to the question of
whether the space-time of the universe is continuous or discrete. Certainly in our common per-
ception it seems to be continuous—we can imagine dividing any length into two shorter lengths. In
reality, this may not be the case at extremely tiny scales. It is not known if time can continue to be
subdivided below
10

As
long as the procedures for implementing the Board are updated the work with
the new representation, all the code that uses the board abstraction should con-
tinue to work correctly without any changes.
We choose the third option and represent a Board using a List of Lists where
each element of the inner lists is a Boolean indicating whether or not the cor-
responding position contains a peg. So,
make-board
evaluates to a List of Lists,
where each element of the List contains the row number of elements and all the
inner elements are
true
(the initial board is completely full of pegs). First, we de-
fine a procedure
make-list-of-constants
that takes two inputs, a Number,
n
, and
a Value,
val
. The output is a List of length
n
where each element has the value
val
.
(
define
(
make-list-of-constants n val
)
(
if
(
=
n
0
)
null
(
cons val
(
make-list-of-constants
(

Page
1
of
5
Agenda item no 14, approved by Academic Council in its 73rd Meeting held on Wednesday 30
th
May, 2018
Bachelor of Science in Information Technology
(BSIT)
Scheme of Studies
(2015
-
2017)
Approved scheme of study of BS Information Technology
(134 Cr. Hrs), applicable on
all BSIT
batches inducted in Fall 2015 semester and onwards
(updated in Fall 2017).
Upon the recommendation of Board of Studies and Board of
Faculty, the Academic
Council of the IIUI approved this scheme in its 73
rd
meeting held on Wednesday, 30
th
May 2018.
Degree
Requirements (minimum 134 Credit hours)
Category
Grouping
Credit
Hours
% of Total Courses
Information
Technology Courses
Computing
-
Core Courses
44
62%
Information Technology Courses
18
Information Technology Electives*
21
General Education
Courses
University Required Courses (UR)
24
38%
Other Courses*
27
Total Credit hours
134
*Minimum credit hours
required from the
course offered
in
the
group
Information Technology Courses
Computing Core Courses (44 Credit Hours)
#
Code
Course
Title
Cr. Hrs.
1
CS
102
Introduction to Computing
4
2
CS
111
Programming Fundamentals
4
3
SE
101
Object Oriented Paradigm
4
4
CS
291
Discrete Structures
3
5
CS
212
Data Structure and Algorithms
3
6
CS
223
Digital Logic and Design
3
7
CS
224
Operating Systems
4
8
CS
242
Introduction to Database Systems
4
9
SE
203
Introduction to Software
Engineering
3
10
CS
372
Computer Communications and Networks
3
11
SE
431
Human Computer Interaction
3
12
IT
400
Senior Design Project
6
Information
Technology
--
Core Courses (18 Credit Hours)
#
Code
Course Title
Cr.
Hrs.
1
3
IT 181
Fundamentals of Information Technology
3
14
IT 331
Web Systems and Technologies
3
15
IT 361
Multimedia Systems and Design
3
16
IT 371
Systems and Network Administration
3
17
IT 471
Introduction to Network Security
3
18
IT 421
System Integration and Architecture
3
Page
2
of
5
Agenda item no 14, approved by Academic Council in its 73rd Meeting held on Wednesday 30
th
May, 2018
Information Technology
--
Elective Courses (Minimum 21 Credit hours)
Student of BSIT are required to pass a minimum of
21 credit hours from the courses
given below. This is a tentative list and Department of CS &
SE may offer other course
to students based on educational trends.
Code
Course Title
Cr. Hrs.
CS
443
Advance Database Management Systems
3
SE
241
Advanced
Computer Programming
3
SE
301
Advanced Software Engineering
3
CS
452
Artificial Neural Networks
3
SE
452
Business Process Automation
3
IT 372
Communication Systems Design
3
IT 374
Communication Technologies
3
CS
361
Computer Graphics
3
CS
471
Data
and Network Security
3
CS
371
Data Communication
3
CS
474
Data Security and Encryption
3
CS
341
Database Technologies
3
SE
432
Design Patterns
3
CS
491
Digital Signal Processing
3
SE
381
Distributed Application Development
3
SE
342
Distributed
Computing
3
SE
343
Enterprise System Development
3
IT 442
Information Retrieval
3
MG 491
Information System Audit
3
IT 341
Information Systems
3
BI
391
Introduction to Bio
-
Informatics
3
CS
446
Introduction to Data Mining
3
IT
441
Introduction to
Data Warehousing
3
CS
492
Introduction to Digital Image Processing
3
IT 373
Introduction to Information Security
3
SE
359
Introduction to Software Metrics
3
IT 451
Knowledge
-
Based Systems
3
CS
422
Microprocessor Interfacing
3
IT
332
Mobile
Application Development
3
SE
321
Object Oriented Analysis and Design
3
CS
402
Operations Research
3
IT
391
Organizational Behaviour
3
CS
431
Principles of Programming Languages
3
CS
426
Real
-
Time Systems
3
CS
362
Simulation and Modelling
3
SE
481
Software Development Technologies
3
SE
361
Software Engineering Economics
3
SE
472
Software Testing
3
CS
421
System Programming
3
IT 481
Technology Management
3
CS
473
Telecommunication Systems
3
CS
401
Topics in Computer Science
3
IT
491
Topics in
Information Technology
3
SE
491
Topics in Software Engineering
3
CS
331
Visual Programming
3
SE
341
Web Based Application Development
3
Page
3
of
5
Agenda item no 14, approved by Academic Council in its 73rd Meeting held on Wednesday 30
th
May, 2018
Code
Course Title
Cr. Hrs.
CS
432
Web Engineering
3
IT
333
Web Services
3
CS
472
Wireless Networks
3
CS
451
Artificial Intelligence
3
CS
411
Compiler Construction
3
CS
321
Computer Architecture
3
CS
322
Computer Organization and Assembly Language
3
CS
314
Theory of Automata & Formal Languages
3
CS
213
Design and Analysis of Algorithms
3
SE
302
Software Construction
3
SE
331
Software
Design and Architecture
3
SE
322
Formal Methods in Software Engineering
3
SE
461
Software Project Management
3
SE
471
Software Quality Engineering
3
SE
311
Software Requirements Engineering
3
General Education Courses
University Required Courses (24
Credit Hours)
#
Code
Course Title
Cr. Hrs.
1
GC
101
Understanding Quran I
3
2
GC
102
English I (English Composition & Comprehension)
3
3
GC
103
Understanding Quran II
3
4
GC
104
English II (Communication Skills)
3
5
GC
105
Basics Of Academic Writing
3
6
GC
106
Islamic World View & Civilization

I
3
7
GC
107
Islamic World View & Civilization

II
3
8
GC
109
Pakistani Culture & Society
3
Other courses (Minimum 27 Credit Hours)
Student of BSIT are required to pass a minimum of 27 credit hours
from the courses given below.
This is tentative list and Department of CS & SE may offer other
course(s) to students based on
educational trends.
Code
Course Title
Cr. Hrs
MATH
110
Calculus & Analytical Geometry
3
MATH
121
Linear Algebra
3
MATH
352
Multivariate Calculus
3
MATH
401
Numerical Computing
3
MATH
241
Differential Equation
3
ST
301
Probability & Statistics
3
GE
112
Professional & Ethical Issues
3
GC
191
Basic Electronics
3
GC
151
Introduction to Finance
3
GC
152
Introduction to
Management
3
GC
204
Introduction to Sociology
3
GC
205
Introduction to Psychology
3
GC
131
Media Studies
3
GE
401
Entrepreneurship
3
GE
402
Industrial Seminar
1
Page
4
of
5
Agenda item no 14, approved by Academic Council in its 73rd Meeting held on Wednesday 30
th
May, 2018
Tentative Semester Wise Course Offering (BSIT)
Tentative course offering plan for BS
Information Technology degree offered from
Fall 2015
-
17 is given below in a semester wise format:
1
st
Semester
Course Code
Pre
-
Req
Course Title
Cr Hrs
CS 102
-
Introduction to Computing
4
MATH 110
-
Calculus & Analytical Geometry
3
GC 102
-
English I
(English Composition & Comprehension)
3
GC 191
-
Basic Electronics
3
CS 291
-
Discrete Structures
3
Total Credit Hrs
16
2
nd
Semester
Course Code
Pre
-
Req
Course Title
Cr Hrs
CS 111
-
Programming Fundamentals
4
CS 223
GC
191
Digital Logic Design
3
GC
104
-
English II (Communication Skills)
3
IT 181
-
Fundamentals of IT
3
GC 101
-
Understanding Quran I
3
Total Credit Hrs
16
3
rd
Semester
Course Code
Pre
-
Req
Course Title
Cr Hrs
SE 101
CS 111
Object Oriented Paradigm
4
GC 105
-
English
-
III (Basics
of Academic Writing)
3
CS 242
CS 212
Introduction to Database Systems
4
GC 103
-
Understanding Quran II
3
MATH 352
-
Multivariate Calculus
3
Total Credit Hrs
17
4
th
Semester
Course Code
Pre
-
Req
Course Title
Cr. Hrs
CS 372
-
Computer Communications
& Networks
3
CS 212
SE 101
Data Structure & Algorithms
3
GC 106
-
Islamic World View & Civilization
-
I
3
MATH 121
-
Linear Algebra
3
ST
301
Probability & Statistic
3
SE 203
Introduction to Software Development
3
Total Credit Hrs
18
Page
5
of
5
Agenda item no 14, approved by Academic Council in its 73rd Meeting held on Wednesday 30
th
May, 2018
5
th
Semester
Course Code
Pre
-
Req
Course Title
Credit Hrs
IT 331
-
Web Systems & Technologies
3
CS 224
-
Operating System
4
IT 391
-
Elective

I
3
GC 107
-
Islamic World View & Civilization
-
II
3
-
General Education Course
3
IT 361
Multimedia Systems
& Design
3
Total Credit Hrs
19
6
th
Semester
Course Code
Pre
-
Req
Course Title
Credit Hrs
IT 371
Systems and Network Administration
3
IT 341
-
Elective

II
3
-
General Education Course
3
-
Elective

III
3
-
Elective

IV
3
-
Elective

V
3
Total Credit Hrs
18
7
th
Semester
Course Code
Pre
-
Req
Course Title
Credit Hrs
IT 481
-
Elective

VI
-
Technology Management
3
SE 431
Human Computer Interaction
3
IT 471
Introduction to Network Security
3
IT 421
System Integration & Architecture
3
Elective

VI
3
General Education Course
3
Total Credit Hrs
18
8
th
Semester
Course Code
Pre
-
Req
Course Title
Credit Hrs
SE 400
-
Software Project
6
GC 109
-
Pakistan Culture & Society
3
-
General Education Course
3
Total Credit Hrs
12

Chapter 5. Data
97
keep a List of the Positions of the empty holes on the board. Yet another pos-
sibility is to keep a List of Lists, where each List corresponds to one row on the
board. The elements in each of the Lists are Booleans representing whether or
not there is a peg at that position. The good thing about data abstraction is we
could pick any of these representations and change it to a different representa-
tion later (for example, if we needed a more efficient board implementation). As
long as the procedures for implementing the Board are updated the work with
the new representation, all the code that uses the board abstraction should con-
tinue to work correctly without any changes.
We choose the third option and represent a Board using a List of Lists where
each element of the inner lists is a Boolean indicating whether or not the cor-
responding position contains a peg. So,
make-board
evaluates to a List of Lists,
where each element of the List contains the row number of elements and all the
inner elements are
true
(the initial board is completely full of pegs). First, we de-
fine a procedure
make-list-of-constants
that takes two inputs, a Number,
n
, and
a Value,
val
. The output is a List of length
n
where each element has the value
val
.
(
define
(
make-list-of-constants n val
)
(
if
(
=
n
0
)
null
(
cons val
(
make-list-of-constants
(

Chapter 5. Data
97
keep a List of the Positions of the empty holes on the board. Yet another pos-
sibility is to keep a List of Lists, where each List corresponds to one row on the
board. The elements in each of the Lists are Booleans representing whether or
not there is a peg at that position. The good thing about data abstraction is we
could pick any of these representations and change it to a different representa-
tion later (for example, if we needed a more efficient board implementation). As
long as the procedures for implementing the Board are updated the work with
the new representation, all the code that uses the board abstraction should con-
tinue to work correctly without any changes.
We choose the third option and represent a Board using a List of Lists where
each element of the inner lists is a Boolean indicating whether or not the cor-
responding position contains a peg. So,
make-board
evaluates to a List of Lists,
where each element of the List contains the row number of elements and all the
inner elements are
true
(the initial board is completely full of pegs). First, we de-
fine a procedure
make-list-of-constants
that takes two inputs, a Number,
n
, and
a Value,
val
. The output is a List of length
n
where each element has the value
val
.
(
define
(
make-list-of-constants n val
)
(
if
(
=
n
0
)
null
(
cons val
(
make-list-of-constants
(

Scheme of Study for BS (IT)


Semester 1 (18 credit hours)
Subject Credit hours
1
IT-301
Introduction to Information Technology
4(3-2)
2 IT-303 Fundamentals of Algorithms 3(2-2)
3
MBA-307
Introduction To Economics
3(3-0)
4
*Math-303
Calculus and Analytical Geometry
4(4-0)
5
*Eng-301
Introductory Exercises in Reading,
2(2-0)
Comprehension and Communication Skills
6 *SSH-402 Pakistan Studies 2(2-0)
Semester 2 (18 credit hours)
Subject Credit hours
1
IT-302
Introduction to Computer Programming
4(3-2)
2 IT-304 Discrete Mathematics 4(4-0)
3 *MBA-306 Financial Accounting 3(3-0)
4 *Phy-305 Basic Electronics 3(2-2)
5
Eng-304
Technical & Business Writing
2(2-0)
6 *IS-401 Islamic Studies 2(2-0)
Semester 3 (20 credit hours)
Subject Credit hours
1 IT-401 Data Structures 4(3-2)
2
IT-403
Introduction to Computer Architecture
4(3-2)
3
MBA-309
Fundamentals of Management
3(3-0)
4
MBA-311
Introduction to Marketing
3(3-0)
5 *Math-304 Multivariable Calculus 4(4-0)
6
*Eng-302
Advanced Exercises in Reading,
Comprehension and Communication Skills
2(2-0)
Semester 4 (20 credit hours)
Subject Credit hours
1 IT-402 Operating System Concepts 4(3-2)
2 IT-404 Data Communication 4(3-2)
3 IT-406 Database Systems 3(2-2)
4 MBA-308 Organizational Behavior 3(3-0)
5 MBA-310 Marketing Management 3(3-0)
6 *Stat-507 Statistics and Probability 3(3-0)
Semester 5 (20 credit hours)
Subject Credit hours
1 IT-501 Software Engineering I 4(3-2)
2 IT-503 Object Oriented Programming 4(3-2)
3 IT-505 Multimedia Technologies 3(2-2)
4 IT-507 Telecommunication Systems 3(2-2)
5
*MBA-407
Human Resource Management
3(3-0)
6 MBA-409 Business Finance 3(3-0)
Semester 6 (20 credit hours)
Subject Credit hours
1
IT-502
Web Design & Development
4(3-2)
2 IT-504 Software Engineering II 4(3-2)
3 IT-506 Computer Networks 3(2-2)
4 IT-508 Distributed Database Systems 3(2-2)
5 *MBA-404 Financial Management 3(3-0)
6 MBA-410 Entrepreneurship 3(3-0)
Semester 7 (20 credit hours)
Subject Credit hours
1 IT-601 Software Project Management 3(2-2)
2
IT-603
Modern Programming Languages
4(3-2)
3 IT-605 E-commerce Technologies 3(2-2)
4 IT-607 Client Server Technologies 3(2-2)
5 IT-609 Visual Programming 4(3-2)
6
MBA-411
Quantitative Business Analysis
3(3-0)
Semester 8 (14 credit hours)
Subject Credit hours
1 IT-602 Network Management 4(3-2)
2 *IT-604 Software Project 10(0-20)
________
Total 150
*Already approved

Potrebbero piacerti anche