2006-07 Undergraduate Catalog
Indiana, Pennsylvania 15705

 

Department of Computer Science

 

Chairperson:

William W. Oblitey

Faculty:

Ali, Ezekiel, Farag, O’Neil, Shubra, Shumba, Smith, Wolfe

Professor emeritus: Tompkins

 

Website: www.iup.edu/compsci

 


 

Bachelor of ArtsComputer Science

Bachelor of ScienceComputer Science
  Applied Computer Science Track
  Languages and Systems Track
  Information Assurance Track

Minors
  Computer Science
  Information Assurance

 


The programs in Computer Science at IUP lead to the B.S. or B.A. degree and are designed primarily to prepare graduates for productive work in highly computer-dependent areas of business, government, and industry. In recent years, majors graduating from the program have attained their first jobs in business applications, programming and systems analysis, computer software development, scientific and applied mathematical programming, and other computer-related areas and have gone to graduate school.

 

In a rapidly developing field such as Computer Science, it is important that the graduate’s education be broad and fundamental so that new trends can more readily be followed. Our goal is to balance fundamentality and breadth with sufficient supervised practice so that our graduates are productive at the time they graduate but ready and willing to change with the field.

 

Most applied computer scientists work in cooperation with professionals trained in other areas and with managers. Hence, the ability to work and communicate with others of different educational backgrounds is an important characteristic. To that end, we encourage Computer Science majors to take a strong minor (or area concentration) in a second area of interest. Some students may wish to double major. Majors in other disciplines at IUP are also welcome to take Computer Science courses for which they are qualified or a Computer Science minor.

 

Students majoring in Computer Science should set their goals beyond simple programming and should be preparing to:

1.     program well, both in design and implementation phases, and document what they have programmed

2.     analyze real-world problems in preparation for program design and implementation

3.     manage activities that are strongly computer dependent

4.     improve the tools that programmers and systems analysts use, i.e., to develop

        a.     better software systems

        b.     better graphical user interfaces

        c.     better languages for communicating with computers

        d.     better web-based interfaces and databases

        e.     better methods for solving intractable problems

5.     teach about computers at college or high school level

6.     advance the fundamental theory of digital information processors

7.     increase awareness of information assurance education and issues

  


Bachelor of Arts–Computer Science

 

Liberal Studies: As outlined in Liberal Studies section with the following specifications:

Mathematics: MATH 123 (1)

Liberal Studies Electives: 4cr, MATH 216 (1), no courses with COSC prefix

50

  
Major:   36
Required Courses:

COSC 105

Fundamentals of Computer Science

3cr

 

COSC 110

Problem Solving and Structured Programming

3cr

 

COSC 210

Object-Oriented and GUI Programming

3cr

 

COSC 220

Applied Computer Programming

4cr

 

COSC 300

Assembly Language Programming

3cr

 

COSC 310

Data Structures and Algorithms

3cr

 

COSC 341

Introduction to Database Management Systems

3cr

 

COSC 380

Seminar on the Computer Profession

1cr

 

COSC 480

Seminar on Technical Topics

1cr

 

Controlled Electives:  6cr from the following: (2)

   

COSC 250

Introduction to Numerical Methods

3cr

 

COSC 304

Interactive Internet Programming with Java

3cr

 
COSC 316 Host Computer Security (3) 3cr  

COSC 319

Software Engineering Concepts

3cr

 

COSC 320

Software Engineering Practice

3cr

 

COSC 344

Productivity Tools and Fourth Generation Language

3cr

 

COSC 345

Data Communications

3cr

 

COSC/
   IFMG 354

Testing and Controlling LANs

3cr

 

COSC 355

Computer Graphics

3cr

 
COSC 356 Network Security 3cr  

COSC 360

IBM Job Control Language

1cr

 

COSC 362

Unix Systems

3cr

 

COSC 481

Special Topics in Computer Science
(only sections approved for majors)  

1-4cr

 

COSC 482

Independent Study

1-4cr

 

COSC 493

Internship in Computer Science (4)

12cr

 

IFMG 455

Data Warehousing and Mining

3cr

 
Upper-level Electives by Categories: (5)

Computer Architecture: COSC 410

Theory of Languages: COSC 419, 420, 424, 460

Systems Programming: COSC 430, 432

Numerical Methods: COSC 427, 450, 451

Artificial Intelligence: COSC 405

Database Management: COSC 415

6cr  
  

Other Requirements:

6-12

Additional Writing:

ENGL 322

Technical Writing

3cr  
Foreign Language Intermediate Level 0-6cr  
Additional Mathematics:
MATH 219 Discrete Mathematics 3cr (1)  
  
Free Electives:   22-28
  
Total Degree Requirements: 120
  

(1)   MATH 123 can be substituted by taking both MATH 121 and 122. MATH 216 can be substituted by taking both MATH 214 and 417 or both MATH 217 and 417.

(2)   Select at least 6cr from the list of controlled electives. Note: Only 4cr of COSC 493 may be counted toward these 6cr.

(3)   COSC 316 cannot be counted for major credit if a student does an Information Assurance minor.

(4)   COSC 493 may be selected in either the second semester of the junior year or the first semester of the senior year. If COSC 493 is selected and approved, COSC 380 should be taken in the immediately preceding semester.

(5)   Select at least two additional courses, from at least two different categories, from the list of upper-level electives.

 

<Back to Top>


Bachelor of Science–Computer Science/Applied Computer Science Track

 

Liberal Studies: As outlined in Liberal Studies section with the following specifications:

Mathematics: MATH 123 (1)

Liberal Studies Electives: 4cr, MATH 216 (1), no courses with COSC prefix

50
 
Major:  39
Required Courses:

COSC 105

Fundamentals of Computer Science

3cr

 

COSC 110

Problem Solving and Structured Programming

3cr

 

COSC 210

Object-Oriented and GUI Programming

3cr

 

COSC 220

Applied Computer Programming

4cr

 

COSC 300

Assembly Language Programming

3cr

 

COSC 310

Data Structures and Algorithms

3cr

 

COSC 319

Software Engineering Concepts

3cr

 

COSC 341

Introduction to Database Management Systems

3cr

 

COSC 380

Seminar on the Computer Profession

1cr

 

COSC 480

Seminar on Technical Topics

1cr

 
One of the following two courses: (2)    
COSC 304 Interactive Internet Programming with Java

3cr

 
COSC 344 Productivity Tools and Fourth Generation Language

3cr

 
One of the following two courses: (3)    
COSC 320 Software Engineering Practice

3cr

 
COSC 493 Internship in Computer Science (4)

12cr

 

Controlled Electives: 3cr from the following: (5) 

COSC 250

Introduction to Numerical Methods

3cr

 
COSC 316 Host Computer Security (6) 3cr  

COSC 345

Data Communications

3cr

 

COSC/
   IFMG 354

Testing and Controlling LANs

3cr

 

COSC 355

Computer Graphics

3cr

 
COSC 356 Network Security 3cr  

COSC 360

IBM Job Control Language

1cr

 

COSC 362

Unix Systems

3cr

 

COSC 481

Special Topics in Computer Science
(only sections approved for majors)

1-4cr

 

COSC 482

Independent Study

1-4cr

 
IFMG 455

Data Warehousing and Mining

3cr

 

Upper-level Electives by Categories: 3cr from the following: (7)

Artificial Intelligence: COSC 405

Computer Architecture: COSC 410

Database Management: COSC 415

Numerical Methods: COSC 427, 450, 451

Systems Programming: COSC 430, 432

Theory of Languages: COSC 419, 420, 424, 460

 3cr  
 

Other Requirements:

6-12
Additional Writing:
ENGL 322

Technical Writing

3cr  
Foreign Language Intermediate Level 0-6cr  
Additional Mathematics:    
MATH 219 Discrete Mathematics (1) 3cr  
 
Minor: Complete a minor from one of the following areas: 7-18
Information Assurance 18cr  
Any department in the College of Natural Sciences and Mathematics 7-18cr  
Designated Business courses 18cr  
Designated Economics courses 15cr  
Designated Geography courses 15cr  
Designated Communications Media courses 18cr  
 
Free Electives: 1-18
 
Total Degree Requirements: 120
 

(1)  

MATH 123 can be substituted by taking both MATH 121 and 122. MATH 216 can be substituted by taking both MATH 214 and 417 or both MATH 217 and 417.

(2)   Credit for both COSC 304 and 344 may be counted toward the degree, but only one will be counted toward the major requirements.

(3)   Credit for both COSC 320 and 493 may be counted toward the degree, but only one will be counted toward the major requirements.

(4)   COSC 493 may be selected in either the second semester of the junior year or the first semester of the senior year. If COSC 493 is selected and approved, COSC 380 may be taken in the immediately preceding semester.

(5)   Select at least 3cr from the list of controlled electives and/or the list of upper-level electives.

(6)   COSC 316 cannot be counted for major credit if a student does an Information Assurance minor.

(7)   Select at least one additional course from list of upper-level electives.

 

<Back to Top>


Bachelor of Science–Computer Science/Languages and Systems Track

 

Liberal Studies: As outlined in Liberal Studies section with the following specifications:
Mathematics: MATH 123 (1 )

Liberal Studies Electives: 4cr, MATH 124, no courses with COSC prefix

50
 
Major: 42
Required Courses:

COSC 105

Fundamentals of Computer Science

3cr

 

COSC 110

Problem Solving and Structured  Programming

3cr

 

COSC 210

Object-Oriented and GUI Programming

3cr

 

COSC 220

Applied Computer Programming

4cr

 

COSC 300

Assembly Language Programming

3cr

 

COSC 310

Data Structures and Algorithms   

3cr

 

COSC 319

Software Engineering Concepts

3cr

 

COSC 341

Introduction to Database Management Systems

3cr

 

COSC 380

Seminar on the Computer Profession

1cr

 

COSC 480

Seminar on Technical Topics 1cr  
9cr from the following upper-level electives:    

COSC 405

Artificial Intelligence

3cr

 

COSC 410

Processor Architecture and Microprogramming

3cr

 

COSC 420

Modern Programming Languages

3cr

 

COSC 424

Compiler Construction

3cr

 

COSC 432

Introduction to Operating Systems

3cr

 

COSC 460

Theory of Computation

3cr

 

Controlled Electives:  6cr from the following: (2)

   

COSC 250

Introduction to Numerical Methods 

3cr

 

COSC 304

Interactive Internet Programming with Java (3)

3cr

 
COSC 316 Host Computer Security (4) 3cr  

COSC 320

Software Engineering Practice (5)

3cr

 

COSC 344

Productivity Tools and Fourth Generation Language (3)

3cr

 

COSC 345

Data Communications 

3cr

 

COSC/
   IFMG 354

Testing and Controlling LANs 

3cr

 

COSC 355

Computer Graphics

3cr

 
COSC 356 Network Security 3cr  

COSC 360

IBM Job Control Language

1cr

 

COSC 362

Unix Systems

3cr

 

COSC 415

Internet Architecture and Programming

3cr

 

COSC 419

Software Development with Ada

3cr

 

COSC 427

Introduction to Cryptography

3cr

 

COSC 430

Introduction to Systems Programming

3cr

 

COSC 450

Applied Numerical Methods

3cr

 

COSC 451

Numerical Methods for Supercomputers

3cr

 

COSC 481

Special Topics in Computer Science (as approved for majors)

1-4cr

 

COSC 482

Independent Study

1-4cr

 

COSC 493

Internship in Computer Science (5, 6)

12cr

 

IFMG 455

Data Warehousing and Mining

3cr  
 

Other Requirements:  

13-19
Additional Writing:
ENGL 322 Technical Writing I 3cr  
Foreign Language Intermediate Level 0-6cr  

Mathematics: A minor in mathematics including the following: (7)

10cr  

MATH 123

Calculus I for Physics, Chemistry, and Mathematics
(MATH 121 and 122 may be substituted)

MATH 124

Calculus II for Physics, Chemistry, and Mathematics 

MATH 171

Introduction to Linear Algebra 

MATH 216

Probability and Statistics for Natural Sciences  

MATH 219

Discrete Mathematics 

 
Free Electives:   9-15
 
Total Degree Requirements:   120
 

(1)   MATH 123 can be substituted by taking both MATH 121 and 122.

(2)   Select at least 6cr from the list of controlled electives. Note: Only 4cr of COSC 493 may be counted toward these 6cr.

(3)   Credit for both COSC 304 and 344 may be counted toward the degree, but only one will be counted toward the major requirements.

(4)   COSC 316 cannot be counted for major credit if a student does an Information Assurance minor.

(5)   Credit for both COSC 320 and 493 may be counted toward the degree, but only one will be counted toward the major requirements.

(6)   COSC 493 may be selected in either the second semester of the junior year or the first semester of the senior year. If COSC 493 is selected and approved, COSC 380 may be taken in the immediately preceding semester.

(7)   In addition to MATH 171, 216and 219, MATH 123 and 124 (taken as Liberal Studies requirement) are also counted towards the minor.

 

<Back to Top> 


Bachelor of Science–Computer Science/Information Assurance Track

 

Liberal Studies: As outlined in Liberal Studies section with the following specifications:

Mathematics: MATH 123 (2)

Social Science: CRIM 101 (1)

Liberal Studies Electives: 4cr, MATH 216 (2), no courses with COSC prefix

50
 
Major: 42
Required Courses:

COSC 105

Fundamentals of Computer Science

3cr

 

COSC 110

Problem Solving and Structured  Programming

3cr

 

COSC 210

Object-Oriented and GUI Programming

3cr

 

COSC 220

Applied Computer Programming

4cr

 

COSC 300

Assembly Language Programming

3cr

 

COSC 310

Data Structures and Algorithms

3cr

 

COSC 319

Software Engineering Concepts

3cr

 

COSC 341

Introduction to Database Management Systems

3cr

 

COSC 380

Seminar on the Computer Profession

1cr

 

COSC 480

Seminar on Technical Topics 1cr  
Information Assurance Required Courses:  
COSC 316 Host Computer Security

3cr

 
COSC 356 Network Security

3cr

 
One of the following two courses: 
COSC 320 Software Engineering Practice

3cr

 
COSC 493 Internship (Information Assurance) (3)

12cr

 
Controlled Electives: 3cr from the following: 
COSC 345 Data Communications

3cr

 

COSC/IFMG 354

Testing and Controlling LANs

3cr

 
COSC 362

Unix Systems

3cr

 
COSC 481

Special Topics in Computer Science
(as approved for majors in this track)

3cr

 
IFMG 382 IT Audit and Control

3cr

 
Upper Level Electives: 3cr from the following: 

COSC 415

Internet Architecture and Programming

3cr

 

COSC 427

Introduction to Cryptography

3cr

 

COSC 432

Operating Systems

3cr

 
COSC 482 Independent Study

3cr

 
COSC 400-level course with department approval 3cr  
 
Minor in Criminology (1) 15
 

Other Requirements:

6-12
Additional Writing: 
ENGL 322 Technical Writing I 3cr  
Foreign Language Intermediate Level 0-6cr  
Additional Mathematics:    
MATH 219 Discrete Mathematics (2) 3cr  
 
Free Electives:   1-7
 
Total Degree Requirements: 120
 

(1)   CRIM 101 (taken as part of the social science requirement) is counted as part of the 18cr Criminology minor. 15 additional cr of CRIM are required.

(2)   MATH 123 can be substituted by taking both MATH 121 and 122. MATH 216 can be substituted by taking both MATH 214 and 417 or both MATH 217 and 417.

(3)   Only 4cr of COSC 493 may be counted towards the major. COSC 493 may be selected in either the second semester of the junior year or the first semester of the senior year. If COSC 493 is selected and approved, COSC 380 may be taken in the immediately preceding semester.

 

<Back to Top>


Minor–Computer Science 15
   
Required Courses: 
COSC electives (1, 2, 3) 15cr  
  

(1)   This minor consists of 15cr of COSC electives. At least 9 of the 15cr must be COSC courses numbered higher than 200.

(2)   COSC 101 is an appropriate entry course for minors or for students who wish to take only one course. However, COSC 101 cannot be counted as part of a Computer Science minor by Management Information Systems majors.

(3)   See Computer Science minor advisor for suggestions.

 

<Back to Top>


Minor–Information Assurance (1) 18
   
Required Courses:

COSC 110

Problem Solving and Structured Programming (3)

3cr

 

COSC 316

Host Computer Security

3cr

 

COSC 352

LAN Design and Installation

3cr