Bachelor of Software Engineering

//Bachelor of Software Engineering
Bachelor of Software Engineering 2018-08-09T07:37:33+00:00

Overview

Software Engineering is a bridge connecting the basic concepts and principles of Computer Science with the variety of users who can benefit from technologies based upon those principles. It includes the design and development of software systems which are effective, efficient, robust, maintainable, and maximally useful and usable. It also includes the design and development of techniques, processes and higher level tools by which these applications can be developed in a timely, cost effective and sustainable manner. At both levels it requires a systematic approach which deals with quantifiable measures of quality and effectiveness, as well as attention to the critical nature of the various products of the process.

Software engineering therefore requires familiarity with the basic needs and processes in the various application domains, with the principles of good engineering practice and with the underlying concepts and principles of computer science. It requires facility in problem analysis, solution design, program development and documentation. It also requires a basic understanding of the ways in which humans interact with technological systems.

A software engineering program should develop professionals who have a mastery of software development principles, theory, practice, and process.

Software Engineering and Computer Science differ in much the same way as do Electrical Engineering and Physics1. Generally, engineering should be concerned with applying what we already know to create products, while science is more theoretical. Therefore, the goal of Computer Science, according to Parnas1 , is to learn and to extend the science. SE on the other hand aims to use the science and technology already available to create products and tools for use.

Software Engineering derives its essence from computer science as other engineering disciplines do from natural or life sciences, with an emphasis on issues of process, design, measurement, analysis and verification providing a strong foundation in engineering principles and practices as applied to software development.

Definition

Software Engineering is a discipline concerned with the development of software systems by applying engineering principles with the goal of developing cost-effective quality systems. There are many definitions in literature. Such as:

  • “The establishment and use of sound engineering principles (methods) in order to obtain economically software that is reliable and works on real machines” [Bauer 1972].

1. David Parnas, “Software Engineering Programmes are not Computer Science Programmes”, IEEE Software, Nov/Dec. 1999, pp. 19-30.

  • “Software engineering is that form of engineering that applies the principles of computer science and mathematics to achieving cost-effective solutions to software problems.” [CMU/SEI-90-TR-003]
  • “The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software” [IEEE 1990].

Software Engineering could also be defined as:

“The application of systematic, disciplined, quantifiable approach to design, development, deployment, and maintenance of reliable and economical software systems.”

Vision of SE Education

Software engineering is the discipline of creating high-quality software systems in a systematic, controlled and efficient manner. It involves the application of engineering concepts, techniques, and methods to the design, development, deployment and maintenance of software systems. A software engineering program should develop professionals who have a mastery of principles, theory, practices, and processes necessary to produce quality software systems. The curriculum committee formalized the Vision Statement for SE education in Pakistan as follows:

“The SE education in Pakistan will focus on imparting the knowledge and training which should enable students to harmonize theory with practice, concept with application, and problem with solution. It will prepare them to apply ably engineering principles, practices, and processes to design, develop, deploy, and maintain software systems. The program will lead to development of student’s professional and interpersonal skills. It will help students to enhance their ability in oral and written communication, and their adaptability to team environments. The program will inculcate among students a strong sense of civic, professional and ethical responsibility. The program will also strive to develop a capacity for innovation and a passion for lifelong learning.”

SE curricula thus developed would reflect the aim to satisfy professional demands of the industry and academia both in terms of immediate needs and the capacity for longer term development. The graduates thus produced will be adequately equipped to exploit the opportunities and answer the challenges offered by the modern world.

Knowledge Areas of SE Curriculum Development ABET Engineering Criteria 2000 notes:

“The curriculum must provide both breadth and depth across the range of engineering and computer science topics implied by the title and objective of the program. The program must demonstrate that graduates have: the ability to analyze, design, verify, validate, implement, apply, and maintain software systems; the ability to appropriately apply discrete mathematics, probability and statistics, and relevant topics in computer and management sciences to complex software systems.”

SE curriculum has been developed systematically by identifying the major knowledge areas of SE education, in the spirit of engineering criteria above. It is noted that efforts carried out by ACM and IEEE-CS to develop international software curricula are very relevant and provide excellent guidelines on the issue. Outcome of these efforts is documented in Software Engineering Body of Knowledge (SWEBOK)2 , Software Engineering Education Knowledge (SEEK)3 , and Computing Curriculum 20084 .

The following major areas of relevant pedagogy have been identified to be appropriate for design of the software engineering curriculum:

  • Computing Core
  • Software Engineering Core
  • Software Engineering Application Domain
  • Supporting Areas
  • General Education

The revised curriculum focuses on building a solid foundation in the early stages of learning. It gradually introduces and strengthens the core professional competencies and desired skill

Program’s Structure

Underlying Principles

Curriculum is an important component of any education system. It outlines the plans and structured learning experiences that an academic program provides. An effective curriculum:

  • Be a broad based and provides students with the flexibility to work across many disciplines & professions.
  • Prepare graduates to succeed in a rapidly changing field.
  • Provide guidance for the expected level of mastery of topics by graduates.
  • Be flexible, realistic and adoptable recommendations that track recent developments in the field.
  • Must identify the fundamental skills and knowledge that all graduates should possess.
  • Must be relevant and compatible with a variety of institutions and accreditation bodies.

The latest developments of ICTs have removed the identity of place, time, and community which have created knowledge intensive technology driven complex work places. These changing patterns of 21st century have introduced new challenges to universities’ education. As a result software engineering profession demands a specific skill set, experiences, thoughts, beliefs, assumptions, attitudes, practical experiences and associated mindset. To meet these challenges, the University has devised this curriculum using top-down curriculum development approach. It has adopted a balanced and multidisciplinary approach and presents a blend of study areas which spread across the boundaries of fundamental

2. Guide to Software Engineering Body of Knowledge, 2004 Edition,.

3. Software Engineering – Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering, 2004August 23, 2004

4. Computing Curriculum 2008—Draft

knowledge of traditional disciplines to advanced knowledge of software engineering. For developing an appropriate mindset the revised curriculum mainly focuses on following six (6) key areas:

  • Knowledge: Theoretical learning of concepts and principles regarding a particular subject(s).
  • Skills: Capability of using learnt knowledge and applying it according to the context
  • Competencies: The ability to do things satisfactory- not necessarily outstandingly or even well, but rather to a minimum level of acceptable performance.
  • Expertise: Level of proficiency and innovative ways of applying learnt knowledge. (Competitive edge)
  • Dispositions: Habits of mind or tendencies to respond to certain situations in certain ways. The role of dispositions in computing education is very important. For example, having the disposition to be a programmer is much better that just having programming skills.
  • Values: Moral, ethical and professional practices.

To strengthen the curriculum further, specialization tracks have also been integrated within the curriculum’s body of knowledge. These specialization tracks are designed according to what the industry is looking for in an employee and the learning interests of students. Furthermore, life skills including desired dispositions, soft skills, critical thinking & reasoning, entrepreneurship, attitude towards lifelong learning, professional practices, citizenship and other social responsibilities have threaded into the entire fabric of the curriculum. The curriculum also covers knowledge areas which are required for the program’s accreditation from the Accreditation Council and knowledge area which are required for professional certification and professional development.

Program’s Rationale

The 21st century is loaded with a large number of challenges. These challenges include globalized business environment, keeping pace with innovative technologies, the availability of information with respect to time, speed, volume, mode, nature and management of this exponentially growing information, keeping control on international and inter-organizational business processes in real time, optimization of business processes across multiple sites, highly uncertain and chaotic business environments, a new level of national & international competition (hyper-competition), social & cultural diversity, rapidly changing products and processes, government regulations, increasing importance of skills, qualities, productivity and other stresses. To face these challenges and to bring a high level of agility, control and transparency organizations now increasingly focus on maximizing their existing technology and human infrastructure through automating various processes that can free human resource to add value elsewhere within the organization. Accordingly, the software industry looks for graduates who are not only equipped with conventional computing skills but also have the capability to develop complex software that can provide verifiable insight into underlying business processes.

Software Engineering is the discipline of developing and maintaining software systems that behave reliably and efficiently, are affordable to develop and maintain, and satisfy all the requirements that customers have defined for them. Software engineering is different in character from other engineering disciplines due to both the intangible nature of software and the related operations. It seeks to integrate the principles of mathematics and computing with the engineering practices developed for tangible, physical artifacts. Software engineering students learn more about software reliability and maintenance and focus more on developing and maintaining software techniques while Computer Science students just acquire abstract knowledge of these aspects.

Software Engineering is a bridge connecting the basic concepts and principles of Computer Science with a variety of users who can benefit from technologies based upon those principles. It includes the design and development of software systems which are effective, efficient, robust, maintainable, and maximally useful and usable. It also includes the design and development of techniques, processes and higher level tools by which these applications can be developed in a timely, cost effective and sustainable manner. At both levels, it requires a systematic approach which deals with quantifiable measures of quality and effectiveness, as well as attention to the critical nature of various products of the process. Software Engineering, therefore, requires familiarity with the basic needs and processes in the various application domains, with the principles of good engineering practices and with the underlying concepts and principles of computer science. It requires facility in problem analysis, solution design, program development and documentation. It also requires a basic understanding of ways in which humans interact with technological systems and necessary skills to create high-quality software systems in a systematic, controlled and efficient manner. It involves the application of engineering concepts, techniques, and methods to the design, development, deployment and maintenance of software systems.

The key rationale behind BS Software Engineering program is to produce graduates who have mastery in the above discussed aspects. The program intends to impart knowledge and training which enable students to harmonize a theory with practice, a concept with an application, and a problem with a solution. It will prepare them to apply ably engineering principles, practices, and processes to design, develop, deploy, and maintain software systems. The program will lead to development of students’ professional and interpersonal skills. It will help them to enhance their ability in oral and written communication, and their adaptability to team environments. The program will inculcate among students a strong sense of civic, professional and ethical responsibility. The program will also strive to develop a capacity for innovation and a passion for lifelong learning.

Program’s Aims & Objectives

BSSE Program aims to create, expand, disseminate and teach the Software Engineering body of knowledge through academics, applications and research which positively impact society locally, nationally, and internationally.

The objective of the program is to prepare students for professional careers and graduate studies with a balance between computing theory and practical application of software engineering concepts, methodologies, tools and technologies in the modern software development environments.The curriculum is designed to ensure breadth across allied disciplines and supporting subjects; and depth in most areas of the software engineering body of knowledge. Various components have been included in the curriculum to ensure that the graduates will:

  • Understand and be able to apply mathematics, physical science, computer science and related disciplines.
  • Understand and be able to apply the principles of software engineering practices and processes, subject to realistic constraints.
  • Be able to model, analyze, document and track system requirements, both functional and non-functional.
  • Be able to design, implement, deploy and maintain quality oriented software systems.
  • Be able to verify and validate quality oriented software systems.
  • Have an awareness of current industry standards and practices.
  • Be able to work in one or more application domains.
  • Understand and apply the principles of software quality assurance.
  • Be able to understand and apply software project management skills: measurement, estimation, costing, planning, documenting, deployment and tracking of resources.
  • Have strong communication, team management and interpersonal skills.
  • Be capable of independent learning.
  • Understand professional responsibility and application of ethical principles.
  • Have knowledge of economics, humanities and social sciences.

Learning Outcome

The program will produce software engineers of great character, competence, vision and drive equipped with up-to-date knowledge, marketable skills, valuable competencies, unique expertise, globally compatible dispositions and culturally and professionally acceptable values to take on appropriate professional roles in the software industry or proceed to further or higher education or training. The successful graduate:

  • Be able to apply knowledge of mathematics, physical science, computer science in routine life situation.
  • Be able to apply software engineering principles, practices and processes in software development.
  • Be able to model, analyze, document and track system requirements; both functional and non-functional.
  • Be able to design, implement, deploy and maintain quality oriented software systems.
  • Be able to verify and validate quality oriented software systems.
  • Have an awareness of current industry standards and practices.
  • Be able to work in one or more application domains.
  • Understand and apply the principles of software quality assurance.
  • Be able to understand and apply software project management skills: measurement, estimation, costing, planning, documenting, deployment and tracking of resources.
  • Have strong communication, team management and interpersonal skills.
  • Be capable of independent learning.
  • Understand professional responsibility and application of ethical principles.
  • Have knowledge of economics, humanities and social sciences.

Roadmap

 

Course Matrix BSSE
Semester 1 18 Cr. Hrs Semester 2 18 Cr. Hrs Semester 3 18 Cr. Hrs Semester 4 19 Cr. Hrs Semester 5 18 Cr. Hrs Semester 6 18 Cr. Hrs Semester 7 15 Cr. Hrs Semester 8 15 Cr. Hrs
CMP 2211 CMP 2221 CMP 3231 IT 3321 MNG 2310 MATH 3310 CMP 4901 CMP 4902
Programming Fundamentals (Comp. Core) Object Oriented Programming (Comp. Core) Data Structure and Algorithms (Comp. Core) Web Systems and Technologies (Uni. Elec.) Human Resource Management (Uni. Elec.) Linear Algebra (Comp. Sup) Campstone Project I (Comp. Core.) Campstone Project II (Comp. Core.)
4 (3 + 1) 4 (3 + 1) 3 (2 + 1) 3 (2 + 1) 3 (3 + 0) 3 (3 + 0) 3 (0 + 3) 3 (0 + 3)
GE 2210 GE 2110 CMP 2711 CMP 2411 CMP 3241 SE 3441 SE 4472 SE 4451
Islamic Studies/Ethics (Gen. Edu) Pakistan Studies (Gen. Edu) Discrete Structures (Comp. Core) Software Engineering (Comp. Core) Object Oriented Software Engineering (SE Core) Software Architecture Design (SE Core) Software Project Management (SE Core) Software Engineering Economics (SE Supp.)
2 (2 + 0) 2 (2 + 0) 3 (3 + 0) 3 (2 + 1) 3 (3 + 0) 3 (3 + 0) 3 (3 + 0) 3 (3 + 0)
CS 2101 CMP 2111 CS 2121 CMP 3811 SE 3431 XXX xxxx XXX xxxx GE 2511
Basic Electronics (Comp. Supp.) Digital Logic Design (Comp. Core.) Computer Architecture (CS. Core.) Operating System (Comp. Core.) Software Requirements and Specifications (SE Core) Specialization Elective 1 Specialization Elective 3 Citizenship and Social Responsibility (Comp. Core)
3 (2 + 1) 3 (2 + 1) 3 (3 + 0) 3 (2 + 1) 3 (3 + 0) 3 (3 + 0) 3 (3 + 0) 3 (3 + 0)
MATH 2111 MATH 2112 STAT 2110 CMP 2311 GE 2411 SE 3443 XXX xxxx XXX xxxx
Calculus & Analytical Geometry (comp. suporting) Multivariate Calculus (comp. suporting) Probability and Statistics (Comp. Supp.) Data Communications and Computer Networks (Comp. Core) Global Professional Practices (Gen. Edu.) Software Verification, Validation and Testing (SE Core) Specialization Elective 4 Specialization Elective 6
3 (3 + 0) 3 (3 + 0) 3 (3 + 0) 3 (2 + 1) 3 (3 + 0) 3 (3 + 0) 3 (3 + 0) 3 (3 + 0)
ENG 2011 ENG 2210 ENG 2310 MNG 2210 IT 3841 XXX xxxx XXX xxxx
English Composition & Comprehension (Gen. Edu.) Communication and Interpersonal Skills (Gen. Edu.) Technical and Business Writing (Gen. Edu.) Entrepreneurship (Uni. Elec.) Enterprise Resource Planning (Uni. Elec) Specialization Elective 2 Specialization Elective
3 (3 + 0) 3 (3 + 0) 3 (3 + 0) 3 (3 + 0) 3 (3 + 0) 3 (3 + 0) 3 (3 + 0)
GE 2011 MNG 2110 IT 3611 CMP 3521 GE 2311 CMP 3621
Intro to IC & Social Media Technologies (Gen. Edu.) Principles of Accounting (Uni.Elec) Multimeida Systems and Design (Uni. Brand) Database Systems (Comp. Core) Principles of Psychology (Uni. Elec) Human Computer Interaction (Comp. Core)
3 ( 2 + 1) 3 ( 3+0) 3 (2 + 1) 4 (3 + 1) 3 (3 + 0) 3 (2 + 1)

Scheme of Studies:

The program structure is dynamic and provides basis for various options including Breadth-Based, Depth-Based, and Integrated Breadth & Depth-Based specializations. The students will get formal computing experience and develop relevant skills through getting theoretical and practical understanding of the entire field of Computer Science. The distribution of credit hours is given below:

Distribution of Credit Hours
Major Areas Credit Hours Percentage
Computing Core Courses 44 32%
Computing Supporting Courses 12 9%
General Education Courses 16 12%
Software Engineering Core Courses 15 11%
Software Engineering Supporting Courses 18 13%
University Electives Courses 15 11%
Specialization Electives Courses 18 12%

Computing Core Courses (44 Cr. Hrs.)
Code Course Title CH
CMP2011 Intro to Computing & Social Media Technologies 4 (3+1)
CMP2211 Programming Fundamentals 4 (3+1)
CMP2711 Discrete Structures 3 (3+0)
CMP2221 Object Oriented Programming 4 (3+1)
CMP2111 Digital Logic Design 3 (2+1)
CMP3231 Data Structure and Algorithms 3 (2+1)
CMP3811 Operating Systems 4 (3+1)
CMP3621 Human Computer Interaction 3 (3+0)
CMP2311 Data Communications and Computer Networks 3 (3+0)
CMP3521 Database Systems 4 (3+1)
CMP2411 Software Engineering 3 (3+0)
CMP4901 Capstone Project I 3 (0+3)
CMP4902 Capstone Project II 3 (0+3)

Computing Supporting Elective Courses (12 Cr. Hrs.)
Code Course Title CH
CS2101 Basic Electronics 3 (2+1)
MATH2111 Calculus and Analytical Geometry 3 (3+0)
STAT2110 Probability and Statistics 3 (3+0)
MATH3310 Linear Algebra 3 (3+0)

Computing General Education (16 Cr. Hrs.)
Code Course Title CH
ENG2110 English Composition and Comprehension 3 (3+0)
ENG2210 Communication & Interpersonal Skills 3 (3+0)
GE2110 Pakistan Studies 2 (2+0)
GE2210 Islamic Studies/Ethics 2 (2+0)
ENG2310 Technical and Business Writing 3 (3+0)
GE2411 Global Professional Practices 3 (3+0)

Software Engineering Core (15 Cr. Hrs.)
Code Course Title CH
SE3421 Object Oriented Software Engineering 3 (3+0)
SE3431 Software Requirements and Specifications 3 (3+0)
SE3441 Software Architecture Design 3 (3+0)
SE4472 Software Project Management 3 (3+0)
SE3443 Software Verification, Validation, and Testing 3 (3+0)

SE Supporting ( 18 Cr. Hrs.)
Code Course Title CH
MATH2112 Multivariate Calculus 3 (3+0)
CS2121 Computer Organization & Architecture 3 (3+0)
SE4451 Software Engineering Economics 3 (3+0)
IT3611 Multimedia Systems and Design 3 (2+1)
IT3321 Web Systems and Technologies 3 (2+1)
IT3841 Enterprise Resource Planning Systems 3 (3+0)

University Electives (15 Cr. Hrs.)
Code Course Title CH
MNG2110 Principles of Accounting 3 (3+0)
MNG2210 Entrepreneurship 3 (3+0)
GE2311 Principles of Psychology 3 (3+0)
MNG2310 Human Resource Management 3 (3+0)
GE2511 Citizenship & Social Responsibilities 3 (3+0)
MNG2212 Principles of Management 3 (3+0)
MNG2217 Organizational Behaviour 3 (3+0)
GE2411 Principles of Philosophy 3 (3+0)

SE Specialization Electives (18 Cr. Hrs.)
Code Course Title CH
SE4461 Software CASE Tools & Applications 3 (3+0)
SE4475 Design Patterns 3 (3+0)
SE3354 Software Construction 3 (3+0)
SE4340 Formal Methods in Software Engineering 3 (3+0)
SE4349 Model-Driven Software Development 3 (3+0)
CS4746 E-Commerce Applications Development 3 (3+0)
CS4461 Enterprise Resource Planning Systems 3 (3+0)
CS4547 Mobile Application Development 3 (3+0)
CS4745 Enterprise Application Development 3 (3+0)
CS3811 Artificial Intelligence 3 (3+0)
CS4544 Cloud Computing 3 (3+0)
CS4513 Web Engineering 3 (3+0)
CS4747 Semantic Web Techniques 3 (3+0)
CS4545 Mobile Computing 3 (3+0)
CS4441 Data Warehousing 3 (3+0)
CS4442 Data Mining 3 (3+0)
CS-4443 Business Intelligence and Analytics 3 (3+0)
SE4476 Business Process Engineering 3 (3+0)
SE4861 Knowledge Management 3 (3+0)
CS4631 Computer Game Development 3 (3+0)
CS4641 3D Modeling & Animation 3 (3+0)
IT4747 Semantic Web Techniques 3 (3+0)
CS4723 Digital Image Processing 3 (3+0)
CS4323 Distributed Computing 3 (3+0)
CS4517 Social Computing 3 (3+0)
CS4815 Expert Systems 3 (3+0)
CS3722 Machine Learning 3 (3+0)
CS3324 Distributed System 3 (3+0)
CS3761 Introduction to Bioinformatics 3 (3+0)

Eligibility Criteria

For all Bachelor Programs in Computer Sciences
  • Eligibility Criteria:
    • 50% marks or 2nd division in F.Sc./FA/I.Com./A level* or equivalent.

Assessment

  • A semester is a sixteen weeks of continuous studies.
  • As per HEC requirement, fifty minutes of class lecture or 100 minutes of supervised lab work done during sixteen weeks of a semester is called a credit hour.
  • Grade Point Average (GPA) is a number that indicates a student’s average grade.
GPA GRADE
GPA 4.0 A
GPA 3.0 B
GPA 2.0 C
GPA 1.0 D
  • Cumulative grade point average (CGPA) is the overall GPA earned by the student during the entire tenure of studies. Bachelors (Hons) students are required to obtain a CGPA of 2.0 to graduate.
  • The total number of 40 to 42 courses with a total of 132 credit hours are required to complete a 4-year Bachelor degree program. Additionally, 6 to 12 credit hours of project work is required.
  • Students have to repeat courses with lower GPA to reach a CGPA of 2.0.
  • There are two exams conducted during each semester: mid-term and final-term.
EXAM PERCENTAGE(%)
Mid-Term 20%
Final-Term 40%
Class Attendance 10%
Assignment,Quizzes 30%
  • No supplementary tests are conducted. Students failing in a subject are required to repeat the entire course.
  • Students found guilty of cheating are fined Rs. 10,000 and are required to repeat the course.
  • Student can freeze their semesters by submitting an application to the Director of Student Affairs. A maximum of three semesters can be frozen.
  • Students must report back within the given time failing which their admission will be cancelled.
  • The fee to freeze a semester is Rs. 2,500.
  • Fee deposited for a particular semester cannot be ‘carry-forward’ for another semester even if the student opts to use the freeze option.

Fee Structure

Admission Fee 2018-07-24T10:26:08+00:00
Admission Fee
Admission Fee (One time Charges at the time of admission) 25000 (For all degree programs)
Faculty of Computer Science 2018-07-24T10:25:49+00:00
Faculty of Computer Science
Undergraduate programs Semester Fee Total Fee
Bachelor of Science in Computer Science(BSCS) 80,000 640,000
Bachelor of Science in Software Engineering(BSSE) 80,000 640,000
Bachelor of Science in Information Technology (BSIT) 80,000 640,000
Specializations
Mobile Applications
Game Programming
Artificial Intelligence
Social Media & E-Business
Graduate Programs
Master of Science in Computer Science 80,000 320,000
Post Graduate Programs
PhD in Computer Sciences 80,000 480,000

Note:

1. Fee for the first semester is payable at the time of admission.
2. Fee for subsequent semesters is payable on first Saturday of December and May.
3. Separate per course fee is charged for Summer Semester that is payable at the time of enrolment.
4. Fee bills are distributed to students in classes and are also available at the accounts office. They can also be printed from the Student portal when the fee becomes due.
5. It is the responsibility of the student to submit the fees before the last date.
6. After due date fine will be charged for late payments
7. Students failing to clear the fee within two weeks past the due date will be denied entry into the campus.
8. Students will not to be allowed to sit in the exam if their dues are not clear

Employment Scope

There are bright career prospects for BSSE professionals in recent scenario. With the opening of huge software and IT companies, the job opportunities for trained professionals have increased considerably.

BSSE graduates may find the job opportunities in a variety of environments such as

  • Software Engineer
  • Data Analyst
  • Freelancing
  • System analyst
  • Developer
  • Teaching
  • Software House
  • Cellular Companies
  • IT Companies

They are involved in analyzing problems for solutions, formulating and testing, using advanced communications or multi-media equipment, or working in teams for product development.