|Graduate Program Head||Rafic Bachnak|
Master of Science (M.S.)
Integrated B.S. in Computer Science and M.S. in Computer Science
|The Graduate Faculty|
The program is professionally oriented and designed to prepare students for employment in industry or government. Courses emphasize practical concerns as well as the relevant theoretical background. The program will provide appropriate background for diverse tasks such as:
- developing scientific and engineering applications,
- developing system software,
- developing safety or security critical systems,
- solving computationally hard problems, and
- developing distributed applications.
While not intended as preparation for subsequent entrance to a Ph.D. program, this goal is not precluded. Once the specific course requirements are met, appropriate selection of electives will enable individual interests to be met within the program.
Applicants apply for admission to the program via the Graduate School application for admission. Requirements listed here are in addition to Graduate Council policies listed under GCAC-300 Admissions.
Applicants must present a baccalaureate degree in Computer Science or a related field from a regionally accredited institution. A minimum GPA of 2.75 (on a 4.0 scale) is required. While a bachelor's degree in Computer Science is not required, admission without deficiency requires that an applicant has completed courses in analysis of algorithms, operating systems, database, and linear algebra. If these courses are not taken before admission to the program, they may be taken at Penn State Harrisburg, but the student will receive at most 3 credits toward the M.S. degree for these courses.
At the discretion of the program, applicants may be required to provide scores from the Graduate Record Examinations (GRE) and/or the GRE subject test in computer science. In addition, applicants must provide three letters of reference, at least one of which is from an academic source, and a letter outlining significant work experience and academic and career objectives.
Master of Science (M.S.)
Requirements listed here are in addition to Graduate Council policies listed under GCAC-600 Research Degree Requirements.
A total of 30 credits (400-, 500-, 600-, or 800-level) is required for the Master of Science in Computer Science. Students are required to take the following courses:
|COMP 505||Theory of Computation||3|
|COMP 511||Design and Analysis of Algorithms||3|
|COMP 512||Advanced Operating Systems||3|
|COMP 519||Advanced Topics in Database Management Systems||3|
Additionally, students are required to complete either a thesis or a paper according to one of the two options described below. Students who believe that they have completed a course substantially similar to one of the specific course requirements may apply to have their previous work evaluated for the purpose of exemption to that requirement. If the exemption is granted, another approved course shall be taken in place of that required course. The remaining 18 credits must be completed according to one of the following options:
Research into a specific computer science problem, development of a scholarly written paper, and an oral defense. This option requires:
|COMP 600||Thesis Research||6|
|3 credits from approved 500-level electives in computer science, mathematics, engineering, and information systems courses||3|
|9 credits from approved 400- and 500-level electives in computer science, mathematics, engineering, and information systems courses||9|
In-depth study of specific computer science problems, development of a written paper or project, and an oral defense. This option requires:
|COMP 594||Master's Studies||3|
|9 credits from approved 500-level electives in computer science, mathematics, engineering, and information systems courses||9|
|6 credits from approved 400- and 500-level electives in computer science, mathematics, engineering, and information systems courses||6|
A maximum of 9 transfer credits will be allowed for course work completed as a graduate student at another institution, subject to restrictions outlined in GCAC-309 Transfer Credit.
For students with interests in the areas of software engineering, systems programming, and artificial intelligence, the program suggests the following course work. These tracks are only advisory--there is no requirement that a student follow any track, and tracks will not be noted on diplomas or transcripts.
Track in Software Engineering
Students following the track in software engineering will be provided with the conceptual tools needed for designing and managing large software systems. In addition to the required core, the track in software engineering consists of the following courses:
|COMP 513||Formal Methods for Software Engineering||3|
|COMP 516||Advanced Programming Languages||3|
|INFSY 570||Software Engineering in the Analysis and Design of Information Systems||3|
In addition to these courses, CMPSC 470 is highly recommended, as compiler development is an ideal environment for gaining practical experience with software engineering techniques and tools.
Track in Systems Programming
Students following the track in systems programming will receive instruction in both the conceptual foundation of systems software and the implementation of such systems. In addition to the required core, the track in systems programming consists of the following courses:
|CMPSC 436||Communications and Networking||3|
|COMP 517||Computer Security||3|
|COMP 545||Computer Architecture||3|
Track in Artificial Intelligence
Students following the track in artificial intelligence are expected to gain an understanding in the theory and applications of AI methods as well as evolutionary methods for solving a variety of problems. In addition to the required core, the track in artificial intelligence consists of the following courses:
|COMP 520||Artificial Intelligence||3|
|COMP 524||Evolutionary Computation||3|
Integrated Undergrad-Grad Programs
Integrated B.S. in Computer Science and M.S. in Computer Science
Requirements listed here are in addition to requirements listed in GCAC-210 Integrated Undergraduate-Graduate (IUG) Degree Programs.
The Computer Science program offers a limited number of academically superior Bachelor of Science candidates the opportunity to enroll in an integrated, continuous program of study leading to both the Bachelor of Science in Computer Science and the Master of Science in Computer Science. The ability to coordinate as well as concurrently pursue the two degree programs enables the student to earn the two degrees in five years.
Students in the IUG program must satisfy the degree requirements for both Bachelor of Science and Master of Science degrees. However, the total course load is reduced due to the maximum of 12 credits that can count towards both degrees.
The first two years of the IUG program are identical to the first two years of the Bachelor of Science program. The third and fourth years of the IUG program differ from those of the Bachelor of Science program due to the courses that count toward the Master of Science degree requirements. Student performance will be monitored on an on-going basis. In addition, a formal evaluation of student academic performance will be performed when the student has completed 100 to 105 credits, which is at the end of the first semester of the senior year for a typical student in the program. Students who have not maintained a 3.5 GPA in their Math and Computer Science courses will be put on probationary status with respect to the IUG program. Their ability to continue in the IUG program will be based on their academic performance in the last semester of their senior year.
As part of the review in the senior year, students will be advised about the paper option and thesis option in the graduate program. Students intending to pursue the thesis option would be advised to do so only if they have been doing very well in the program and are in no danger of not being able to continue into the fifth year.
A minimum grade point average of 3.5 must be earned in all math and computer science course work that is applied toward the graduate degree. This includes any courses that count toward both the undergraduate and graduate degrees, as well as all courses taken during the fifth year.
If for any reason a student admitted to the IUG program is unable to complete the requirements for the Master of Science degree, the student will be permitted to receive the Bachelor of Science degree assuming all the undergraduate degree requirements have been satisfactorily completed. Students who successfully complete the courses listed in the recommended schedule will satisfy the requirements for the Bachelor of Science degree by the end of their fourth year.
To initiate the application process, students must submit an Integrated Undergraduate-Graduate (IUG) Degree in Computer Science Application Form, a transcript, and a faculty recommendation, in addition to applying for admission to the Graduate School.
Students must apply to the program via the Graduate School application for admission, and must meet all the admission requirements of the Graduate School and the Computer Science graduate program for the Master of Science degree, listed on the Admission Requirements tab. Students shall be admitted to an IUG program no earlier than the beginning of the third semester of undergraduate study at Penn State (regardless of transfer or AP credits accumulated prior to enrollment) and no later than the end of the second week of the semester preceding the semester of expected conferral of the undergraduate degree, as specified in the proposed IUG plan of study.
In consultation with an adviser, students must prepare a plan of study appropriate to this integrated program, and must present their plan of study in person to the head of the graduate program or the appropriate committee overseeing the integrated program prior to being admitted to the program. The plan should cover the entire time period of the integrated program, and it should be reviewed periodically with an adviser as the student advances through the program.
In order to apply for the IUG program, students must have completed a minimum of 45 credits. A typical student would apply after completing between 45 to 60 credits, that is, after the fourth semester and before the end of the fifth semester. For consideration for acceptance into the program, students must have completed and earned a minimum grade point average of 3.0 in the following Computer Science and Mathematics courses:
|MATH 140||Calculus With Analytic Geometry I||4|
|MATH 141||Calculus with Analytic Geometry II||4|
|CMPSC 121||Introduction to Programming Techniques||3|
|CMPSC 122||Intermediate Programming||3|
|CMPSC 360||Discrete Mathematics for Computer Science||3|
Student applications will be evaluated based on their overall academic performance, in addition to the above requirements. In all cases, admission to the program will be at the discretion of the Graduate Admissions Committee in Computer Science.
Students must fulfill all degree requirements for each degree in order to be awarded that degree, subject to the double-counting of credits as outlined below. Degree requirements for the Bachelor of Science in Computer Science are listed in the Undergraduate Bulletin. Degree requirements for the Master of Science in Computer Science are listed on the Degree Requirements tab. Students must sequence their courses so all undergraduate degree requirements are fulfilled before taking courses to count solely towards the graduate degree. If students accepted into the IUG program are unable to complete the M.S. degree, they are still eligible to receive their undergraduate degree if all the undergraduate degree requirements have been satisfied.
Up to 12 credits may be double-counted towards the degree requirements for both the graduate and undergraduate degrees; a minimum of 50% of the double-counted courses must be at the 500 or 800 level. Credits associated with the culminating experience for the graduate degree cannot be double-counted.
Graduate assistantships available to students in this program and other forms of student aid are described in the Tuition & Funding section of The Graduate School’s website. Students on graduate assistantships must adhere to the course load limits set by The Graduate School.
Graduate courses carry numbers from 500 to 699 and 800 to 899. Advanced undergraduate courses numbered between 400 and 499 may be used to meet some graduate degree requirements when taken by graduate students. Courses below the 400 level may not. A graduate student may register for or audit these courses in order to make up deficiencies or to fill in gaps in previous education but not to meet requirements for an advanced degree.
- KNOW: Graduates will be able to demonstrate mastery of core principles in Computer Science.
- THINK/APPLY/CREATE: Graduates will be able to critically and creatively conceptualize, evaluate, formulate, and solve computing problems.
- COMMUNICATE: Graduates will be able to effectively communicate, to diverse audiences, solutions to complex problems.
- PROFESSIONAL PRACTICE: Graduates will be able to demonstrate an understanding of professional and ethical responsibility and conduct themselves accordingly.
|Graduate Program Head||Rafic A Bachnak|
|Director of Graduate Studies (DGS) or Professor-in-Charge (PIC)||Sukmoon Chang|
Jeanne Marie Miller