Introduction
Computer Science is the study of the theoretical and practical aspects of computer technology and computer usage. Computer science major attracts students who are interested in both the mathematical theory and technical applications of computer science. While proficiency in computer programming is an essential skill, computer science students’ deal with the fundamental nature of computation, what can and cannot be computed, and how efficiently a computation can be accomplished by a machine. They study how to build computer systems (computer architecture), how to make machines think (artificial intelligence), how to build computers that can see (computer vision), how to design software that works seamlessly from different locations (computer networks and distributed systems), how to model complex problems (modelling and simulation) and how to design more efficient computing algorithms (theory of computation).
The Center of Excellence in IT (CEIT) at IMSciences has highly research-active faculty, who encourage students to be involved in their applied/research work. Research opportunities focus both on fundamental research in theory of computation, computer networks, computer vision, data mining, software engineering, artificial intelligence, and robotics, as well as on projects of practical socio-economic significance, such as building systems to communicate relevant information to farmers, designing mapping solutions for rural areas and building record keeping solutions for the judicial system. A Computer Science (CS) degree is excellent preparation for the job market of the future and CS majors take up careers in every imaginable field. Our graduates have enjoyed excellent job placements, both within Pakistan and internationally. Many have chosen to make their own successful companies.
Program Structure
The Bachelor of Computer Science (BCS) combines a solid core of computer science courses as well as an understanding and appreciation for arts, humanities, and social sciences, and their importance in today’s society. This is a 4-year degree program, which aims to enable students to apply scientific and engineering methodologies to the analysis of problems and the design, implementation, and evaluation of computer-based solutions. At the same instance, it attempts to utilize the breadth and depth of theoretical computer science and mathematics to emerging technologies and the ever-changing needs of industry as well as the cutting edge of computer science research.
Eligibility Criteria
- FA/F. Sc or Equivalent qualifications with at least second division, securing 50% marks in aggregate.
- The students who have not studied Mathematics at intermediate level must pass deficiency courses of Mathematics of 6 credit hours within one year of their regular studies.
- Qualifying the admission test and interview is compulsory. A candidate scoring less than 40% marks in the test and interview will stand disqualified for admission.
- Candidates who have secured at least 40% in the NTS-NAT are also eligible to apply.
- The merit of a candidate shall be measured by a 50 % weight age to the marks obtained in HSC or equivalent, 40 % to the marks obtained in the written test, and 10% to the marks obtained in the interview.
- A candidate shall be given a special credit of thirty marks for admission in each program mentioned above if he/she has studied Computer Science and/or statistics at intermediate level (for BS Data Science program only) at intermediate level or has done A level.
- The Hafiz Quran shall be given a special credit of 20 marks.
- The credit marks shall be added to the marks obtained at HSC or equivalent, subject to fulfilment of basic eligibility criteria of 50% marks.
Degree Requirements
For a BCS 4-year degree, a student is required to complete a minimum of 130-140 credit hours including a 6-credit hour research thesis/project. The normal duration for completion of BCS degree is 8 semesters over a period of 4 years. The maximum duration for obtaining BCS degree shall be 7 years.
Program Education Objectives (PEOs)
Following are the Program Education Objectives (PEOs) of BCS.
- (Fundamental Computing Knowledge): Graduates responsibly practicing in a variety of computer science and allied disciplines.
- (Basic Knowledge): Provide students with a combination of knowledge, hands-on experience, and application of theory to information issues.
- (Modern Tools usage): Graduates utilizing their skills and knowledge to solve complex computing problems in real world settings.
- (Continuous Improvement): Graduates demonstrating sustained learning and adapting to evolving fields through continued professional development and self-study.
- (Leadership/Teamwork): A graduate who is effective in a leadership role of a team assigned to him/her or in an entrepreneurial environment.
- (Research Orientation): Inculcate and enhance research abilities of students in respective fields.
Program Learning Outcomes (PLOs) of BCS
- Gain an understanding of the underpinning theories of fundamental principles and technologies within the area of computer science (Academic education).
- Apply knowledge of computing fundamentals, knowledge of a computing specialization, and mathematics, science, and domain knowledge appropriate for the computing specialization to the abstraction and conceptualization of computing models from defined problems and requirements (Knowledge for Solving Computing Problems).
- Identify, formulate, research literature, and solve complex computing problems reaching substantiated conclusions using fundamental principles of mathematics, computing sciences, and relevant domain disciplines (Problem Analysis).
- Design and evaluate solutions for complex computing problems, and design and evaluate systems, components, or processes that meet specified needs with appropriate consideration for public health and safety, cultural, societal, and environmental considerations (Design/ Development of Solutions)
- Create, select, adapt, and apply appropriate techniques, resources, and modern computing tools to complex computing activities, with an understanding of the limitations (Modern Tool Usage)
- Function effectively as an individual and as a member or leader in diverse teams and in multi-disciplinary settings (Individual and Teamwork)
- Communicate effectively with the computing community and with society about complex computing activities by being able to comprehend and write effective reports, design documentation, make effective presentations, and give and understand clear instructions (Communication)
- Understand and assess societal, health, safety, legal, and cultural issues within local and global contexts, and the consequential responsibilities relevant to professional computing practice (Computing Professionalism and Society)
- Understand and commit to professional ethics, responsibilities, and norms of professional computing practice (Ethics)
- Recognize the need, and have the ability, to engage in independent learning for continual development as a computing professional (Life-long Learning)
Upon completion of BCS degree, all the students should have attained the aforementioned ten PLOs/Student Outcomes (SOs).
Curriculum for BCS
Following are the proposed areas, which are required to cover to complete the degree. Covered areas consist of core courses (compulsory), foundation courses, general courses, and electives.
AREAS COVERED IN BCS
COMMON COURSES |
|||
Course Group |
Min. No. of Credit Hours |
Min. No. of Courses |
Percentage |
General Education |
19 |
7 |
14.2 % |
Mathematics & Science Foundation |
12 |
4 |
09.0 % |
Computing Core |
39 |
11 |
29.3 % |
Institute Electives |
12 |
4 |
09.0 % |
Common Courses |
82 |
26 |
61.7 % |
DOMAIN COURSES |
|||
Computer Science Core |
24 |
7 |
18.0 % |
Computer Science Electives |
18 |
6 |
13.5 % |
Computer Science Supporting |
09 |
3 |
06.7 % |
Domain Courses |
51 |
16 |
38.3 % |
TOTAL |
133 |
42 |
100% |
General Education Courses
Course Code |
Course Title |
Credit Hours |
Contact Hours |
CSC 301 |
Introduction to Information & Communication Technologies |
3 (2-1) |
2-3 |
ENG 301 |
English (General) |
3 (3-0) |
3-0 |
ENG 302 |
English (Functional) |
3 (3-0) |
3-0 |
ENG 401 |
English (Academic) |
3 (3-0) |
3-0 |
HSS 305 |
Fundamentals of Islamic Studies/ Ethics |
2 (2-0) |
2-0 |
HSS 301 |
Fundamentals of Pakistan Studies |
2 (2-0) |
2-0 |
CSC 595 |
Professional Practices |
3 (3-0) |
3-0 |
TOTAL |
19 (18-1) |
18-3 |
Mathematics and Science Foundation Courses
Course Code |
Course Title |
Credit Hours |
Contact Hours |
MTH 311 |
Calculus & Analytical Geometry |
3 (3-0) |
3-0 |
MTH 315 |
Linear Algebra |
3 (3-0) |
3-0 |
STA 415 |
Probability & Statistics |
3 (3-0) |
3-0 |
PHY 305 |
Applied Physics |
3 (3-0) |
3-0 |
TOTAL |
12 (12-0) |
12-0 |
Computing Core Courses
Course Code |
Course Title |
Credit Hours |
Contact Hours |
CSC 305 |
Programming Fundamentals |
4 (3-1) |
3-3 |
CSC 321 |
Discrete Structures |
3 (3-0) |
3-0 |
CSC 315 |
Object Oriented Programming |
4 (3-1) |
3-3 |
CSC 451 |
Database Systems |
4 (3-1) |
3-3 |
CSC 401 |
Data Structures & Algorithms |
4 (3-1) |
3-3 |
CSC 556 |
Information Security |
3 (3-0) |
3-0 |
CSC 575 |
Computer Networks |
4 (3-1) |
3-3 |
CSC 465 |
Operating Systems |
4 (3-1) |
3-3 |
SWE 401 |
Software Engineering |
3 (3-0) |
3-0 |
FYP 611 |
Final Year Project – I |
3 (0-3) |
0-9 |
FYP 612 |
Final Year Project – II |
3 (0-3) |
0-9 |
TOTAL |
39 (27-12) |
27-36 |
Institute Elective Courses
(Must be any FOUR courses or 12 credit hours, not limited to the areas listed below, Institutions may add/replace courses)
Course Code
|
Course Title |
Credit Hours |
Contact Hours |
ACC 301 |
Fundamentals of Accounting |
3 (3-0) |
3-0 |
BUS 301 |
Introduction to Business |
3 (3-0) |
3-0 |
ENI 301 |
Entrepreneurship |
3 (3-0) |
3-0 |
FIN 301 |
Fundamentals of Business Finance |
3 (3-0) |
3-0 |
HRM 301 |
Fundamentals of Human Resource Management |
3 (3-0) |
3-0 |
HSS 311 |
Fundamentals of Sociology |
3 (3-0) |
3-0 |
HSS 415 |
Fundamentals of Psychology |
3 (3-0) |
3-0 |
HSS 505 |
Logic and Critical Thinking |
3 (3-0) |
3-0 |
MGT 301 |
Principles of Management |
3 (3-0) |
3-0 |
POL 301 |
Introduction to Political Science |
3 (3-0) |
3-0 |
POL 501 |
International Relations |
3 (3-0) |
3-0 |
LAN 512 |
Regional Language (Pashto) |
3 (3-0) |
3-0 |
LAN 513 |
Regional Language (Sindhi) |
3 (3-0) |
3-0 |
LAN 514 |
Regional Language (Punjabi) |
3 (3-0) |
3-0 |
LAN 521 |
Foreign Language (French) |
3 (3-0) |
3-0 |
LAN 522 |
Foreign Language (Chinese) |
3 (3-0) |
3-0 |
LAN 523 |
Foreign Language (German) |
3 (3-0) |
3-0 |
LAN 524 |
Foreign Language (Persian) |
3 (3-0) |
3-0 |
CSC 550 |
Computing and Society |
3 (3-0) |
3-0 |
TOTAL |
12 (12-0) |
12-0 |
Domain Courses for BCS
Computer Science CORE Courses
Course Code |
Course Title |
Credit Hours |
Contact Hours |
CSC 601 |
Artificial Intelligence |
4 (3-1) |
3-3 |
CSC 405 |
Digital Logic Design |
4 (3-1) |
3-3 |
CSC 531 |
Design and Analysis of Algorithms |
3 (3-0) |
3-0 |
CSC 411 |
Computer Organization & Assembly Language |
4 (3-1) |
3-3 |
SWE 539 |
Parallel and Distributed Computing |
3 (3-0) |
3-0 |
CSC 561 |
Compiler Construction |
3 (3-0) |
3-0 |
CSC 501 |
Theory of Automata |
3 (3-0) |
3-0 |
TOTAL |
24 (21-3) |
21-9 |
Computer Science SUPPORTING Courses
(Any Three from the list)
Coverage of relevant pre-requisite must be ensured while offering any of the following courses from this category
Course Code |
Course Title |
Credit Hours |
Contact Hours |
MTH 415 | Multi-variate Calculus |
3 (3-0) |
3-0 |
CSC 510 | Graph Theory |
3 (3-0) |
3-0 |
CSC 509 | Theory of Programming languages |
3 (3-0) |
3-0 |
MTH 651 | Numerical Computing |
3 (3-0) |
3-0 |
MTH 505 | Differential Equations |
3 (3-0) |
3-0 |
TOTAL |
9 (9-0) |
9-0 |
Computer Science ELECTIVES Courses
(Must be any SIX courses or 18 credit hours, not limited to the areas listed below, Institute may add/replace courses)
Course Code |
Course Title |
Credit Hours |
Contact Hours |
CSC 611 | Advance Database Systems |
3 (3-0) |
3-0 |
CSC 685 | Machine Learning |
3 (2-1) |
2-3 |
CSC 605 | Artificial Neural Networks |
3 (2-1) |
2-3 |
CSC 631 | Cloud Computing |
3 (3-0) |
3-0 |
CSC 619 | Text Mining |
3 (3-0) |
3-0 |
CSC 453 | Fundamentals of Internet of Things (IoT) |
3 (3-0) |
3-0 |
CSC 461 | Human Computer Interaction |
3 (3-0) |
3-0 |
CSC 505 | Real-Time Systems |
3 (3-0) |
3-0 |
CSC 525 | Computer Architecture |
3 (3-0) |
3-0 |
CSC 541 | Systems and Network Administration |
3 (2-1) |
2-3 |
CSC 545 | Computer Graphics |
3 (2-1) |
2-3 |
CSC 551 | E-Commerce |
3 (3-0) |
3-0 |
CSC 565 | Biometric Systems |
3 (3-0) |
3-0 |
CSC 571 | Mobile Application Development |
3 (3-0) |
3-0 |
CSC 625 | Natural Language Processing |
3 (3-0) |
3-0 |
CSC 641 | Computer Vision |
3 (2-1) |
2-3 |
CSC 645 | Wireless Networks |
3 (3-0) |
3-0 |
CSC 656 | Multimedia Systems |
3 (3-0) |
3-0 |
CSC 675 | Digital Image Processing |
3 (2-1) |
2-3 |
CSC 681 | Fuzzy Logic |
3 (3-0) |
3-0 |
CSC 689 | Expert Systems |
3 (3-0) |
3-0 |
SWE 411 | Object Oriented Analysis and Design |
3 (3-0) |
3-0 |
SWE 515 | Web Engineering |
3 (2-1) |
2-3 |
CSC 637 | Selected Topics in IoT |
3 (3-0) |
3-0 |
TOTAL (Any SIX courses or 18 credit hours) |
18 (x-x) |
x-x |
BCS – Semester-wise Breakdown
4-Year Program (8 Regular Semester of 18 weeks each) (133 Credit Hours)
Semester 1 |
||||
Course Code |
Course Title |
Credit Hours |
Contact Hours |
Pre-requisite |
CSC 301 |
Introduction to Information & Communication Technologies |
3 (2-1) |
2-3 |
|
CSC 305 |
Programming Fundamentals |
4 (3-1) |
3-3 |
|
ENG 301 |
English (General) |
3 (3-0) |
3-0 |
|
HSS 301 |
Fundamental of Pakistan Studies |
2 (2-0) |
2-0 |
|
MTH 311 |
Calculus and Analytical Geometry |
3 (3-0) |
3-0 |
|
PHY 305 |
Applied Physics |
3 (3-0) |
3-0 |
|
Total |
18(16-2) |
16-6 |
|
Semester 2 |
||||
Course Code |
Course Title |
Credit Hours |
Contact Hours |
Pre-requisite(s) |
CSC 315 |
Object Oriented Programming |
4 (3-1) |
3-3 |
Programming Fundamentals |
CSC 321 |
Discrete Structures |
3 (3-0) |
3-0 |
|
ENG 302 |
English (Functional) |
3 (3-0) |
3-0 |
English (General) |
HSS 305 |
Fundamentals of Islamic Studies |
2 (2-0) |
2-0 |
|
MTH 315 |
Linear Algebra |
3 (3-0) |
3-0 |
|
– |
Institute Elective – I |
3 (3-0) |
3-0 |
|
Total |
18(17-1) |
17-3 |
|
Semester 3 |
||||
Course Code |
Course Title |
Credit Hours |
Contact Hours |
Pre-requisite |
CSC 401 |
Data Structures and Algorithms |
4 (3-1) |
3-3 |
Object Oriented Programming |
CSC 405 |
Digital Logic Design |
4 (3-1) |
3-3 |
Applied Physics |
ENG 401 |
English (Academic) |
3 (3-0) |
3-0 |
English (Functional) |
MTH 415 |
(CS Supporting – I) Multi-variate calculus |
3 (3-0) |
3-0 |
|
STA 415 |
Probability and Statistics |
3 (3-0) |
3-0 |
|
Total |
17(15-2) |
15-6 |
|
Semester 4 |
||||
Course Code |
Course Title |
Credit Hours |
Contact Hours |
Pre-requisite |
CSC 411 |
Computer Organization and Assembly Language |
4 (3-1) |
3-3 |
|
CSC 451 |
Database Systems |
4 (3-1) |
3-3 |
Data Structures and Algo. |
CSC 465 |
Operating Systems |
4 (3-1) |
3-3 |
Data Structures and Algo. |
SWE 401 |
Software Engineering |
3 (3-0) |
3-0 |
|
– |
Institute Elective – II |
3 (3-0) |
3-0 |
|
Total |
18(15-3) |
15-9 |
|
Semester 5 |
||||
Course Code |
Course Title |
Credit Hours |
Contact Hours |
Pre-requisite |
CSC 501 |
Theory of Automata |
3 (3-0) |
3-0 |
|
CSC 575 |
Computer Networks |
4 (3-1) |
3-3 |
|
MTH 505 |
(CS Supporting – II) Differential Equation |
3 (3-0) |
3-0 |
|
– |
Institute Elective – III |
3 (3-0) |
3-0 |
|
– |
Computer Science Elective – I |
3 (x-x) |
x-x |
|
Total |
16(x-x) |
x-x |
|
Semester 6 |
||||
Course Code |
Course Title |
Credit Hours |
Contact Hours |
Pre-requisite |
CSC 531 |
Design and Analysis of Algorithms |
3 (3-0) |
3-0 |
Data Structures and Algo. |
CSC 561 |
Compiler Construction |
3 (3-0) |
3-0 |
Theory of Automata |
CSC 595 |
Professional Practices |
3 (3-0) |
3-0 |
|
– |
Computer Science Elective – II |
3 (x-x) |
x-x |
|
– |
Institute Elective – IV |
3 (3-0) |
3-0 |
|
– |
Computer Science Elective – III |
3 (3-0) |
3-0 |
|
Total |
18(x-x) |
x-x |
|
Semester 7 |
||||
Course Code |
Course Title |
Credit Hours |
Contact Hours |
Pre-requisite |
CSC 601 |
Artificial Intelligence |
4 (3-1) |
3-3 |
Discrete Structures |
FYP 611 |
Final Year Project – I |
3 (0-3) |
0-9 |
|
Computer Science Elective – IV |
3 (x-x) |
x-x |
||
Computer Science Elective – V |
3 (x-x) |
x-x |
||
Computer Science Elective – VI |
3 (x-x) |
x-x |
||
Total |
16(x-x) |
x-x |
|
Semester 8 |
||||
Course Code |
Course Title |
Credit Hours |
Contact Hours |
Pre-requisite |
CSC 556 |
Information Security |
3 (3-0) |
3-0 |
|
FYP 612 |
Final Year Project – II |
3 (0-3) |
0-9 |
Final Year Project – I |
MTH 651 |
(CS Supporting – III) Numerical Computing |
3 (3-0) |
3-0 |
|
SWE 539 |
Parallel and Distributed Computing |
3 (3-0) |
3-0 |
Operating Systems |
Total |
12(x-x) |
x-x |
|