Software Engineering, Computer Science, BS

  • Thomas Shaheen discusses his experience studying in the Department of Mathematics and Computer Sciences at IUP. He talks about the faculty and the fundamentals he learned that he feels make him prepared for any job he may apply for in the future.

    Specialize in High-Demand Areas of Computer Science

    Prepare for a job in industry as a software engineer, database administrator, Web applications programmer, systems analyst, support specialist, and or one of many high-demand positions.

    Students are required to take a course in which they must put to practical use what they have learned-this may be done using team projects in a single three-credit course; but we encourage students to consider taking a six- to eight-month paid internship to get the true flavor of applying their computing knowledge to industry.

    Students are also required to take a minor in one of 14 areas, including mathematics, science, business, economics, geography, communications media, or cyber security.

    Note: See the IUP Undergraduate Academic Catalog for official degree requirements. This list is for basic reference only. 

    Enrollment and Graduation Statistics

    The Software Engineering track currently has 81 students enrolled in the program.  This includes students enrolled in the Applied track (the previous name for the program). In 2015, fourteen (14) students completed the program received their B.S. degree in Computer Science/Applied track.

  • Course Requirements

    120 Credits

    • Computer Science: at least 40 credits
    • Additional Requirements: 6-12 credits
    • Liberal Studies: 48 credits
    • Approved Minor: 8-18 credits
    • Free Electives: 2-18 credits

    Computer Science

    Required Courses

    • COSC 105 - Fundamentals of Computer Science, 3 credits
    • COSC 110 - Problem Solving and Structured Programming, 3 credits
    • COSC 210 - Object-Oriented and GUI Programming, 3 credits
    • COSC 220 - Applied Computer Programming, 4 credits
    • COSC 300 - Computer Organization and Assembly Language, 3 credits
    • COSC 310 - Data Structures and Algorithms, 3 credits
    • COSC 319 - Software Engineering Concepts, 3 credits
    • COSC 341 - Intro to Database Management Systems, 3 credits
    • COSC 365 - Web Architecture and Application Development, 3 credits
    • COSC 380 - Seminar in Computing Profession and Ethics, 2 credits
    • COSC 480 - Seminar on Technical Topics, 1 credit

    Select one of the following two courses:

    • COSC 320 - Software Engineering Practice, 3 credits [2]
    • COSC 493 - Internship in Computer Science, 12 credits [3]

    Controlled Electives

    Select 3 credits from the following: [4]

    • COSC/MATH 250 - Introduction to Numerical Methods, 3 credits
    • COSC 216 - Introduction to Cybersecurity, 3 credits [5]
    • COSC 345 - Computer Networks, 3 credits
    • COSC/IFMG 354 - Testing and Controlling LANs, 3 credits
    • COSC 355 - Computer Graphics, 3 credits
    • COSC 356 - Network Security, 3 credits
    • COSC 362 - Unix Systems, 3 credits
    • COSC 481 - Special Topics in Computer Science, 1-4 credits
      -(Only sections approved for majors)
    • COSC 482 - Independent Study, 1-4 credits
    • IFMG 455 - Data Warehousing and Mining, 3 credits

    Upper-Level Electives by Categories: Choose 3 credits [6]

    • Artificial Intelligence: COSC 405
    • Computer Architecture: COSC 410
    • Database Management: COSC 444
    • Numerical Methods: COSC 427, 451
    • Systems Programming: COSC 430, 432
    • Theory of Languages: COSC 420, 424, 460

    Liberal Studies

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

    • Mathematics (3 credits): MATH 125 [1]
    • Liberal Studies Electives (3 credits): MATH 216, no courses with COSC prefix.

    Additional Requirements

    • ENGL 222 - Technical Writing, 3 credits
    • Foreign Language Intermediate Level, 0-6 credits
    • MATH 219 - Discrete Mathematics, 3 credits

    Approved minor from one of the following areas: 7-18 credits

    • Any department in the College of Natural Science and Mathematics, 8-18 credits
    • Cyber Security, 18 credits
    • Designated Business courses, 18 credits
    • Designated Economics courses, 15 credits
    • Designated Geography courses, 15 credits
    • Designated Communication Media courses, 18 credits


    • MATH 125 can be substituted by MATH 121.
    • Credit for both COSC 320 and 493 may be counted toward the degree, but only one will be counted toward the major requirements.
    • 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. Note: Only 4cr of COSC 493 can be counted towards major.
    • Select at least 3sh from the list of controlled electives and/or the list of upper-level electives.
    • COSC 216 cannot be counted for major credit if a student does a cyber security minor.
    • Select at least one additional course from list of upper-level electives.

    Program Educational Objectives

    Our graduates are expected to attain these objectives within a few years of graduation:

    1. Possess analytical skills to assess and troubleshoot technical problems, and to research and analyze alternatives.
    2. Possess verbal skills to interact with customers, colleagues, and managers, and possess written communication skills to describe ideas and document processes. Have the ability to explain complexity. Have the ability to convey a clear understanding of what others find to be ambiguous.
    3. Possess the ability to think logically and the capacity to understand technical and business problems and to design solution alternatives.
    4. Possess an attention to detail the ability to thoroughly think through ideas and problems, then implement and test total solutions.
    5. Possess an ability to understand and vision beyond the immediate problem.
    6. Possess an ability to understand how others have analyzed and developed applications, and then identify technical alternatives and their use to meet user needs.
    7. Possess an ability to anticipate effect and outcomes.
    8. Maintain professional work ethic, appearance, and demonstration of personal responsibility.
    9. Possess an ability to collaborate as a team member and team leader to affect technical solutions and solve business problems, providing business outcomes.

    Student Outcomes 

    Upon graduation, all computer science students are expected to possess the following knowledge, skills, and behaviors:

    1. Apply computer science knowledge to application areas from science and industry.
    2. Apply appropriate data structures and algorithms to analyze and solve new problems.
    3. Apply software engineering techniques to designing, implementing, documenting, testing, and maintaining software systems.
    4. Contribute to improving the design and implementation of databases.
    5. Use more than one programming language and choose an appropriate ones for a project.
    6. Work with and communicate effectively with professionals in various fields.
    7. Continue a lifelong professional development in computing.
    8. Act ethically and professionally.
    In addition, a graduate of the Software Engineering track will be prepared to:
    1. Develop Web-based applications and interfaces.
    2. Work with all types of computer systems—legacy, current, and future.
    3. Apply knowledge of computing to an area of secondary interest (dependent on the minor taken).
    4. Work with a variety of software tools in designing and implementing computer-based systems.
    5. Manage activities that are strongly computer-system dependent.
    6. Be employed at entry-level through project leader positions.