COMPUTER
ENGINEERING
UNDERGRADUATE
HANDBOOK
Academic Year 2018-19
Department of Computer Science and Engineering
School of Electrical Engineering and Computer Science
Penn State University
www.cse.psu.edu
1
Table of Contents
WELCOME ................................................................................................................................. 3
THE COMPUTER ENGINEERING MAJOR ................................................................................ 4
PROGRAM OBJECTIVES ................................................................................................................ 5
STUDENT OUTCOMES ................................................................................................................... 6
ADVISING AND PROCEDURES FOR MAJOR .......................................................................... 7
ENTRANCE TO THE MAJOR (ETM) .................................................................................................. 9
ENROLLMENT CONTROLS ............................................................................................................. 9
DEGREE AUDITS ........................................................................................................................... 9
CHANGE OF MAJOR .................................................................................................................... 10
CONCURRENT MAJOR ................................................................................................................. 10
REGISTRATION ........................................................................................................................... 10
PREREQUISITE COURSES ............................................................................................................ 10
SCHEDULE CHANGES ................................................................................................................. 11
GENERAL EDUCATION ................................................................................................................ 11
WRITING REQUIREMENT .............................................................................................................. 12
US & INTERNATIONAL CULTURES REQUIREMENT ......................................................................... 12
GRADUATION REQUIREMENTS ..................................................................................................... 12
CREDIT ACQUISITION .................................................................................................................. 12
COOPERATIVE EDUCATION PROGRAM ......................................................................................... 12
HONORS PROGRAM .................................................................................................................... 13
MINORS ..................................................................................................................................... 13
OTHER ISSUES ........................................................................................................................... 13
WAIVERS AND EXCEPTIONS ........................................................................................................ 13
ACADEMIC INTEGRITY ................................................................................................................. 14
ENGINEERING DESIGN EXPERIENCE............................................................................................. 14
COMPUTER ENGINEERING TOPICS ............................................................................................... 15
PROGRAM REQUIREMENT SUMMARY CHART ................................................................................ 16
SAMPLE SCHEDULE OF COURSES BY SEMESTER.......................................................................... 18
GRADUATION REQUIREMENTS ............................................................................................ 20
COMPUTER SCIENCE AND ENGINEERING (34 CREDITS) ................................................................. 20
COMPUTER ENGINEERING ELECTIVES (12 CREDITS) ..................................................................... 21
WRITING INTENSIVE COURSE (3 CREDITS) .................................................................................... 21
ELECTRICAL ENGINEERING (11 CREDITS) ..................................................................................... 21
COMMUNICATIONS (9 CREDITS) ................................................................................................... 22
QUANTIFICATION AND STATISTICS (18 CREDITS)........................................................................... 22
HEALTH SCIENCES AND PHYSICAL EDUCATION (3 CREDITS) ......................................................... 22
NATURAL SCIENCES (13 CREDITS) .............................................................................................. 22
2
ARTS, HUMANITIES, SOCIAL AND BEHAVIORAL SCIENCES, US & INTERNATIONAL CULTURES (18
CREDITS) ................................................................................................................................... 22
DEPARTMENT LIST (GENERAL ELECTIVE) GUIDELINES (6 CREDITS) ............................................... 23
FIRST YEAR SEMINAR (1 CREDIT) ................................................................................................ 24
HELPFUL UNIVERSITY PARK OFFICES AND PHONE NUMBERS ....................................... 25
SOURCES OF INFORMATION ................................................................................................ 27
3
Welcome
This handbook has been prepared for your use as a guide for your studies and as a
means of providing you with much of the information that you may need as you
continue to work towards your degree. We hope that you read it carefully, and we invite
your inquiries about any of the questions or issues that are related to your
program. The Academic Affairs staff in W210 Westgate is here to serve you.
Please watch for announcements of special courses, news related to scheduling or
textbooks, and other special opportunities delivered via a departmental email list.
Again, welcome to Computer Science and Engineering. We wish you well in your
studies and offer our services to assist you.
Tom La Porta
Director, School of Electrical Engineering and Computer Science
Chita Das
Head, Department Computer Science and Engineering
John Hannan
Associate Head, Department Computer Science and Engineering
Mark Mahon
Undergraduate Advisor, School of Electrical Engineering and Computer Science
4
The Computer Engineering Major
The Department of Computer Science and Engineering was created in 1993 with the
merger of the Computer Engineering Program and the Computer Science
Department. The department offers B.S. degrees in both computer engineering
(CMPEN) and computer science (CMPSC) through the College of Engineering.
Computer engineering is the discipline concerned with connecting abstract
computation to its physical embodiments, and it focuses on the study of four primary
areas. The first area includes the design, analysis, and implementation of physically
realized systems that perform computational tasks, including the processing, storage,
and communication of data. The second area includes the formulation of interfaces
and the study of interactions between the hardware portions of these systems and the
software running on, communicating with, or managing communications among them,
as well as the co-development of software systems alongside their hardware platforms.
The third area includes the infrastructure required to design, build, and verify such
systems. The fourth area includes the theoretical foundations underpinning the
intended and achievable functionality, costs, and performance of both the hardware
and software components of these systems and their associated engineering tradeoffs.
Computer engineers provide society with the myriad engines that have powered the
information age from the smallest sensor motes to the fastest supercomputers and
largest data centers, and with the tools and expertise to use the current generation of
computers to design the next. With the ubiquitous integration of mobile
communications and computational elements in everything from appliances to cars to
clothing to the electrical grid, computer engineers are responsible for developing
systems and devices that have transformed the capabilities of both individuals and
entire economies.
The mission of the undergraduate program in Computer Engineering is to provide our
students with the skills and experience necessary to engage in further study at the
graduate level or to pursue any of a broad range of careers as platform integrators,
hardware architects, systems programmers, embedded systems designers, network
architects, and other positions relating to the design and analysis of computational and
other digital hardware and hardware/software systems. The program covers, in both
breadth and depth, the representation, communication, and manipulation of
information utilizing finite, physical resources from both hardware and software
perspectives. It includes coverage of both the fundamental science and the abstract
concepts necessary to understand and evaluate the engineering tradeoffs among key
5
performance and cost metrics in the design of hardware and hardware/software
systems, including decisions relating to both partitioning and co-design of solutions
spanning both hardware and software. The program is structured to ensure that
graduates have a clear understanding of the design and the applications of current and
historical computer systems and prepares them to be leaders in the rapidly changing
field of computing throughout their careers.
Because of the close relationship to computer engineering, concurrent majors in
computer engineering and computer science or computer engineering and data
science are not permitted.
Program Objectives
The program is structured to ensure that graduates have a clear understanding of the
design and the applications of computers, as well as the ability to apply this knowledge
throughout their professional careers.
Within a few years after graduation, graduates in computer engineering should be able
to:
1. Work in industry or government producing or evaluating components of
computer hardware and/or software systems.
2. Work in teams to design, implement, and/or maintain components of
computer hardware and/or software systems.
3. Stay current through professional conferences, certificate programs, post-
baccalaureate degree programs, or other professional educational activities.
During the first two years, students in computer engineering take many courses in
common with other engineering majors, including courses in mathematics, physics,
and chemistry. In addition, students take several specialized courses in the major, such
as algorithms and programming, electrical engineering, digital systems and logic, and
computational theory. From these courses, students gain experience using
sophisticated software tools, working in a hardware laboratory, and completing
individual and group projects. During the second two years, students complete a series
of courses in both hardware and software systems. Students also select from numerous
electives. Throughout the four years, students develop communication skills, including
a senior year course in which students examine the complete design process and
participate in a series of oral and written experiences similar to those that would be
seen in industry.
6
Student Outcomes
The following Student Outcomes summarize the skills acquired through the computer
engineering program:
1. an ability to identify, formulate, and solve complex engineering problems by
applying principles of engineering, science, and mathematics
a. Design the electronic/logic circuits that form the basic building blocks of
a computer system.
b. Design the architecture and organization of the basic components of a
computer system.
c. Develop a modest (on the order of a thousand lines of code) software
application, using appropriate data structures and algorithms.
2. an ability to apply engineering design to produce solutions that meet specified
needs with consideration of public health, safety, and welfare, as well as global,
cultural, social, environmental, and economic factors
a. Given specifications, design and implement a computer and/or digital
system (defined as any digital device used for computation or control)
under time and budget constraint.
3. an ability to communicate effectively with a range of audiences
a. Write clear and effective technical prose.
b. Speak clearly and persuasively about technical subjects in large and/or
small group settings, and use supporting materials effectively.
4. an ability to recognize ethical and professional responsibilities in engineering
situations and make informed judgments, which must consider the impact of
engineering solutions in global, economic, environmental, and societal contexts
a. Be able to identify ethical issues in engineering case studies.
b. Be able to discuss major trends in industry and current research
activities within the discipline, identifying global, economic,
environment and societal impact
c. Identify ethical and professional responsibilities in project design phase
and explain all considerations and alternatives that led to final design
decisions
5. an ability to function effectively on a team whose members together provide
leadership, create a collaborative and inclusive environment, establish goals,
plan tasks, and meet objectives
a. Demonstrate an ability to work effectively on team-based projects in
which the entire team collaboratively works on designing a solution to
meet specified project objectives
b. Demonstrate an ability to work effectively on team-based projects in
which each team member takes responsibility (leadership) for a
7
component of the project and ensures all team members participate
and engage in its integration
6. an ability to develop and conduct appropriate experimentation, analyze and
interpret data, and use engineering judgment to draw conclusions
a. Analyze circuits, devices, and systems using differential and integral
calculus and principles of electricity, magnetism, and physics.
b. Analyze linear systems using continuous and discrete-time techniques.
c. Analyze the performance of software and/or hardware systems using
probabilistic and statistical methods.
d. Design and simulate computer hardware components using standard
tools.
e. Test circuits, devices, and systems using software, hardware and
statistical tools.
f. Test algorithms or computer code and analyze their correctness and
efficiency.
g. Design test cases for testing hardware or software.
7. an ability to acquire and apply new knowledge as needed, using appropriate
learning strategies.
a. Demonstrate independent learning by using unfamiliar computer
systems, test equipment, and software tools to solve technical problems.
Students who are interested in math and science and enjoy solving problems are
excellent candidates for the computer engineering major. CMPEN 270 and CMPSC
121 or CMPSC 131 are excellent introductions to this major. Job opportunities are
virtually limitless; graduates are employed by all sectors of industry, government, and
academic institutions. Because of the close relation to computer science, concurrent
majors in computer engineering and computer science are not permitted.
Computer Engineering is accredited by the Engineering Accreditation Commission of
ABET, Inc., 111 Market Place, Suite 1050, Baltimore, MD 21202-4012, telephone: 410-
347-7700 or http://www.abet.org.
Advising and Procedures for Major
If you are a first- or second-year student at University Park who is intending to major in
computer engineering, you will see an adviser at the Engineering Advising Center
(EAC), 208 Hammond Building, 863-1033. This office is open Monday through Friday,
8
8:00 a.m. to 5:00 p.m. (Walk-in advising is available but appointments are
encouraged).
If you are a junior or senior who has been admitted into the computer engineering
major you can meet with Dr. Mark Mahon, the Department of Computer Science and
Engineering Undergraduate Adviser (W209A Westgate Building, 867-5396). The
email address, [email protected] will send email to him. Schreyer Scholars
will be assigned a Scholar’s Adviser. If you communicate via e-mail, always use
your Penn State account, not another account such as Gmail. For non-advising
issues (questions about degree audit, scheduling, etc.) see one of the CSE staff in
W210 Westgate during regular business hours.
Required courses for the computer engineering major and a suggested schedule are
given on the following pages. Information about all majors at Penn State are listed in
the Bulletin of Baccalaureate Degree Programs. The Bulletin is updated yearly and
should be used along with this Handbook. Clarifications to the Bulletin are noted here.
The final responsibility for selecting courses and meeting degree requirements is
yours. The role of your adviser is to suggest, recommend, and remind you of the
requirements of the major and rules of the University. (Two helpful references for
University procedures on-line are: University Faculty Senate Policies for Students
and the Student Guide to General University Policies and Rules). When meeting
with your adviser, always take a copy of your recent audits, transcript, your present
schedule, and your plan for at least the next semester’s courses.
Do not rely on LionPath to correctly categorize your courses. LionPath only
understands the degree requirements as specified in the Bulletin and will therefore
occasionally place courses into an inappropriate category. This handbook contains
additional restrictions and explanations. To ensure that you meet degree
requirements you must have your degree audit reviewed by your advisor periodically.
You should submit petitions to correct any mis-categorization by LionPath. Failure to
do so may result in delaying your graduation until degree requirements are met.
Because computer engineering is such a rapidly changing field, adjustments in course
content and/or course offerings should be expected. It will be to your advantage to
keep abreast of new course offerings, current course enhancements, and allowable
course substitutions through regular contact with your adviser and the department
office.
9
Entrance to the major (ETM)
To qualify for the computer engineering major:
(1) You must complete MATH 140, MATH 141, MATH 250/251, CHEM 110, PHYS
211, and PHYS 212 with a grade of C or better in each
(2) You must have a cumulative GPA that meets or exceeds the minimum required
for your ETM Pool. (See https://advising.psu.edu/entrance-major-
requirements-college-engineering for specific numbers.)
(3) You should complete at least two full semesters of coursework appropriate to
the major and be in degree status. It is advisable to be taking CMPEN 270 or
(CMPEN 271 and CMPEN 275), and EE 210 during your second year in order to
make normal progress. Be sure you’re accumulating credits at a minimum rate
of 30 credits per calendar year.
You may request admission to the major via LionPath as soon as you have
completed 40 credits of Penn State coursework and before you complete 59
credits of Penn State coursework.
Enrollment Controls
Due to over enrollment, the computer engineering and computer science majors are
controlled majors. This means for entrance to the major you must successfully
complete the required ETM courses AND you must have the needed minimum
cumulative GPA for your ETM pool when you are in the ETM credit window (40-59
cumulative Penn State credits). Because of this the CSE Department will not approve
requests for transfers from other Colleges and Universities, requests for Change of
Major, after a student has been admitted to a major, requests for computer
engineering or science as a second (or later) concurrent major, nor for either major as
a sequential major.
Degree Audits
You are responsible for periodically checking your Degree Audit on LionPath to verify
that the courses you have taken and plan to take will satisfy your degree requirements
and that you are on track to complete your degree when you expect to complete it.
You are encouraged to meet with an advisor to review your degree audit to verify this
information. Do not rely on LionPath to place your courses into their appropriate
categories.
10
Change of Major
If you discover an interest in other areas of study or you are not admitted into computer
engineering, you should explore other possible majors and alternatives at the
Engineering Advising Center or online at the Academic Advising Portal.
Concurrent Major
Concurrent majors will not be allowed in computer science and computer engineering
or computer engineering and data sciences, although it is possible to obtain a
concurrent major with another non-enrollment controlled program. (Also see page 3
“Enrollment Controls”).
Registration
When it is time to register for the next semester’s courses, refer to this handbook and
consult with your adviser to determine an appropriate set of courses. Then go to
LionPath and use its Schedule Builder to construct your schedule. You should register
as early as possiblecourses fill up quickly!
Re-ordering your course schedule from the “sample schedule” will not necessarily
delay graduation. The key to completing 128 credits over 4 years is to average
approximately 16-17 credits per semester. Though many students do maintain this
pace, it is not unusual for students to take lighter loads some semesters and to delay
graduation. Experience has shown that the 5
th
semester has been difficult for many
students; if you have doubts, it is a good place for a light load. Needed credits may be
able to be taken during the summer (not necessarily at University Park). Some students
will elect to attend for a 9
th
semester. While all required CMPEN and CMPSC courses
are offered both fall and spring semesters, most electives are offered at most once per
year. EE 353 is only offered in the spring. Take these restrictions into account when
you schedule. This is especially true for co-op students.
Prerequisite Courses
If a CMPEN or CMPSC course has a prerequisite course(s) specified you must complete
the prerequisite course with an appropriate grade before taking the successor course.
For most courses an appropriate grade is a grade of D or higher. However, if the
prerequisite course is a “C or higher” course, the appropriate grade is a C or
higher. Waiving of prerequisites is rarely approved and requires approval by both the
course instructor and the associate department head. If you schedule a course for
which you have not satisfied the prerequisites you will be removed from the
course near the start of the semester.
11
Schedule Changes
Schedule adjustments (course adds/drops) may be made online using LionPath during
the first 5 calendar days of each semester. Detailed instructions, costs, and deadlines
are provided in the university’s Undergraduate Advising Handbook. After this time, you
may still adjust your schedule, but any change is considered a late add or a late drop.
REMEMBER: A student who has not yet been admitted to the major should seek advice
at the Engineering Advising Center; a student who has been admitted should see the
Department Undergraduate Adviser. Excessive dropping of courses may affect your
eligibility for federal financial aid.
General Education
All baccalaureate students at the University are required to complete 46 credits of
General Education. A General Education course can be identified by its course suffix.
You will partially meet these requirements by taking specific courses required for the
computer engineering major, and by following the general guidelines below.
General Education consists of the following categories:
first year seminar - at least 1 credit - courses with the designation PSU will
fulfill this requirement, as will courses with the suffix S, T or X (see NOTE
below).
writing/speaking - 9 credits - course suffix of GWS
quantification - 6 credits - suffix of GQ
health and physical activity - 3 credits - suffix GHA
natural sciences - 9 credits - suffix GN
arts - 6 credits - suffix GA
humanities - 6 credits - suffix GH
social and behavioral sciences - 6 credits - suffix GS
Note: Some campuses do not have a first-year seminar requirement, but instead
require participation in a first year experience. If you started at such a campus you will
need to take 1 additional credit of department list course work.
College of Engineering students follow the University’s General Education guidelines;
refer to the College of Engineering Undergraduate Programs Guide and to the
University’s Baccalaureate Degree Programs Bulletin for a complete list of available
courses.
12
Writing Requirement
All Penn State students have a Writing Across the Curriculum graduation requirement.
You must complete at least 3 credits of writing-intensive courses selected from “W
courses offered within the major or college of enrollment. The course in the computer
engineering major that fulfills this requirement is CMPEN 482W (Computer
Engineering Project Design).
US & International Cultures Requirement
Courses approved to fulfill this requirement will be designated as US, IL, or both US
and IL. Students must complete 3 credits in United States Cultures (US) and 3 credits in
International Cultures (IL). If a student takes a 3-credit course that is both US and IL, to
complete the requirement, he/she must take another 3-credit course that is US, IL, or
both US and IL. Education abroad courses and other credit-bearing experiences such
as internships that meet this requirement will be designated as US, IL, or both US and
IL. Most students complete this requirement by selecting GA, GS or GH courses which
also satisfy the US/IL requirement.
Graduation Requirements
To graduate from the University, every student must:
(1) Complete the course requirements for his or her major;
(2) Earn at least a 2.0 cumulative grade-point average for all courses taken at the
University; and
(3) Earn at least a C in each of these courses: CMPSC 121 or 131, CMPSC 122 or
132, CMPSC 221, CMPSC 360, CMPEN 270 or CMPEN 271 and CMPEN 275,
CMPSC 311, CMPEN 331, CMPEN 431, CMPSC 465, CHEM 110, EE 210, EE 310,
EE 353, MATH 140, MATH 141, MATH 250/251, PHYS 211, PHYS 212.
Credit Acquisition
In addition to taking courses at any Penn State campus, you may be able to earn credit
through World Campus or by transferring credits from another school. Before taking a
course at another university, check with the Admissions office and your adviser to be
sure the course will transfer usefully. Note that CMPSC 473, CMPEN 431, CMPSC
465 and CmpSc 482W must be taken at Penn State.
Cooperative Education Program
The cooperative education program provides work experience by alternating periods
of academic study and full-time employment in industry or government. The program
typically starts at the beginning of the junior year and consists of three rotations,
providing a cumulative work experience of one year. If you have interest in the co-op
13
program, you should obtain advising no later than your fourth semester from the
designated co-op adviser, who will help you plan work and study schedules. You may
earn up to 3 credits toward graduation in the Department List requirements. If you
prefer less of a time commitment, you can pursue one or more summer internships.
You earn 1 credit per internship (maximum of 2 credits total) toward graduation in the
Department List requirements. If you are not a formal co-op or internship student, you
may still take related summer jobs; however, you may not claim credits for jobs you
arrange outside of the formal programs.
Honors Program
Students in the Schreyer Honors College (Atherton Hall, 863-2635) may earn honors in
computer engineering by completing a dissertation with a member of the CSE faculty.
See an honors adviser if you are interested in finding out more. (The department office,
342G Information Sciences and Technology Building, can identify the honors advisers
for you).
Minors
A minor is a specialization of at least 18 credits that supplements a major. Some courses
may concurrently meet the requirements of our major. Popular minors for students in
our department include:
1) Engineering Leadership Development
2) Engineering Entrepreneurship
3) Mathematics
4) Business/Liberal Arts
Other Issues
For additional information on minors, withdrawal, leaves of absence, concurrent
majors, change of major, satisfactory/unsatisfactory credits, and other academic issues,
refer to University Faculty Senate Policies for Students. For information on campus
and community resources (parking, libraries, museums, etc.; referrals for returning
adult students, minority students, veterans, women), refer to Easy Access, available
during orientation and published by Student Life.
Waivers and Exceptions
All exceptions made in the degree requirements must be approved and documented
using Penn State’s Course Substitution Request site: https://coursesub.psu.edu. Be
sure to submit course substitution petitions prior to taking courses.
14
Inquiries about exceptions and general degree requirements should be taken to
the Department of Computer Science and Engineering Office (W210 Westgate
Building), to your adviser, or to the Engineering Advising Center. Note that petitions
that require College level approval (exceptions/waivers to College & University
requirements) will NOT be accepted during the semester that you plan to graduate.
Academic Integrity
Recognizing not only the value of integrity in the academic environment, but also its
value for the practicing engineer and for society at large, we in the department urge
you to act as a responsible professional while you are a student. Academic integrity is
defined as follows in Faculty Senate rule 49-20:
“Academic integrity is the pursuit of scholarly activity free from fraud and
deception and is an educational objective of this institution. Academic
dishonesty includes, but is not limited to, cheating, plagiarizing, fabricating of
information or citations, facilitating acts of academic dishonesty by others,
having unauthorized possession of examinations, submitting work of another
person or work previously used without informing the instructor, or tampering
with the academic work of other students.”
The EECS School maintains specific guidelines related to programming courses:
http://www.eecs.psu.edu/students/resources/EECS-CSE-Academic-Integrity.aspx
It is commonly accepted that people learn better if they can interact, discuss, and assist
each other in solving problems and understanding concepts. Yet persons submitting
identical homework papers overstep the bounds of beneficial interaction. The specific
limits of acceptable collaboration will be spelled out by the instructor in each course in
the course syllabus. The specifics may vary from course to course. Do not, for any
reason, show another student sections of your code or write sections of code for
another student. Do not put your code online in any location that might be publicly
accessible. Any collaboration that exceeds these guidelines or the instructor’s
guidelines will be considered cheating. Clearly, professionals share ideas but they
should not use another’s work without clear acknowledgement of who did the work.
Academic dishonesty in any form is not condoned or tolerated.
Engineering Design Experience
Design is incorporated into a majority of courses taught in the computer engineering
Program. Many of the courses are split between engineering science and engineering
design, so that the design experience is spread throughout the program.
15
At the sophomore level, in CMPEN 270 or CMPEN 271 and CMPEN 275, students
design and build digital circuits consisting of combinational and sequential
components. Students begin with analysis type projects, learning basic laboratory
skills, problem specification, and project planning. Projects become increasingly more
design oriented and open ended, culminating in a significant two- or three-week
design effort, allowing the student to make choices and trade-offs between multiple
design criteria.
During the junior year, students learn about computer organization and architecture in
CMPEN 331 and CMPEN 431. Trade-offs in the design of a computer are examined.
The design experience culminates in the senior year, where students choose from a
variety of system-level design courses in both hardware and software areas. Choices
include laboratory design courses in microcomputer systems, VLSI, FPGA, software
engineering, compilers, databases, and concurrent computing. Each of these courses
involves the student in a significant design problem by the end of the course.
The final design course for most students is CMPEN 482W. Students experience the
entire design process, starting from problem definition and requirements analysis to
proposal preparation, to steps in the design review process, and finally, to design
specification and implementation. Projects require students to consider a number of
design factors including cost, size, human factors, reliability, power consumption,
manufacturability, etc. The course is writing intensive and includes a number of
technical writing experiences, as well as oral presentations.
Computer Engineering Topics
Students achieve breadth in computer engineering through a series of required
courses. Background in software related areas is gained through CMPSC 121 or 131,
CMPSC 122 or 132, CMPSC 221, CMPSC 311, CMPSC 465, and CMPSC 473.
Background in hardware areas is gained through CMPEN 270 or CMPEN 271 and
CMPEN 275, CMPEN 331, CMPEN 362, and CMPEN 431. It is recommended that after
your first semester you take one programming course a semester (CMPSC 121 or131,
122 or 132, 221, 311, 473) until CMPSC 473 is complete (if possible).
Specialization is provided through the students’ selection of senior year electives.
Students must select 12 credits of technical electives (Select 6 credits from CMPEN 416,
CMPEN 417, CMPEN 454, CMPEN 455, CMPEN 471, CMPEN 472, CMPEN 473, EE 453,
or EE 456; AND select 6 credits from any 400-489 CMPSC/CMPEN course). Note that
none of CMPSC 494H, CMPSC 496, CMPEN 494H, or CMPEN 496 may be used as
a technical elective. A CMPSC 497 or CMPEN 497 course may be allowed as a
16
technical elective, but a petition requesting this should be filed before taking the
course.
Issues related to the integration of hardware and software, and hardware-software
tradeoffs are discussed in the required courses CMPSC 311, CMPEN 331, CMPSC 473,
CMPEN 482W, and CMPEN 431, as well as some elective courses such as CMPEN 472
(Microprocessors and Embedded Systems) and CMPEN 473 (Microcomputer
Laboratory).
Students receive appropriate introduction to various specialized mathematics topics in
a sequence of required courses that include: CMPSC 360 (Discrete Mathematics for
Computer Scientists), STAT 418 (Probability), and MATH 220 (Matrices). A variety of
methods for modeling computer processes and systems are introduced in the required
courses CMPSC 465, CMPEN 331, CMPSC 473, and CMPEN 431.
Students learn to use a number of computer-aided design tools through the laboratory
courses and in regular lecture courses. These include a digital schematic capture and
simulation tool in CMPEN 270 or CMPEN 271 and CMPEN 275; an analog simulation
tool in EE 210; a hardware design language in CMPEN 331; a hardware description
language simulator in CMPEN 431; logic design CAD tools in CMPEN 431 and CMPEN
471; VLSI CAD tools in CMPEN 411; and various digital image processing and
computer vision software tools in CMPEN/EE 455 and CMPEN/EE 454.
All students study multiple high level programming languages such as Python, Java, C,
and C++. Students study assembly language in CMPEN 331. Students gain extensive
experience in both Microsoft and UNIX operating systems.
Program Requirement Summary Chart
On the next pages, you will find a semester-by-semester chart of what courses to take
with notes describing any choices to be made or restrictions to be followed. Please
realize that although all the courses listed are required for the degree, they need not
be taken during the semesters shown in the charts; In particular, CMPSC 360 and
CMPSC 465 should be taken two semesters earlier (Semester’s 3 and 4, respectively) if
you wish to improve your chances for highly competitive internships with companies
such as Google.
You should be sure to check course prerequisites before you deviate from the
suggested schedule. Care should be exercised to be sure core courses are taken in
the proper sequence and in a time frame allowing you to meet entrance to major
requirements. Also remember that a course that is designated as C required must be
17
completed with a C or higher in order to both move on to a course for which it is a
prerequisite and to graduate. If possible, you not wait until your last semester to take
C required courses. A total of 128 credits are required for graduation.
Sample Schedule of Courses by Semester
SEMESTER 2 (17 credits)
4
MATH 141 GQ or MATH 141E (Calculus II)*
4
4
PHYS 212 GN (Electricity & Magnetism)*
4
3
CMPSC 121* or 131*
3
3
GA, GH, or GS course (or ENGL 15)
3
1
GA, GH, or GS course
3
SEMESTER 4 (15 credits)
3
MATH 231 (Calculus of Several Variables)
2
2
CMPSC 221 (OOP with Web Applications)*
3
3
EE 210 (Circuits and Devices)*
4
4
ECON 102 or 104,(GS)
3
2
CMPEN 331 (Computer Organization &
Design)*
3
3
SEMESTER 6 (15 credits)
3
CMPEN 362 (Communication Networks)
3
4
CMPSC 465 (Data Structures & Algorithms)*
3
3
CMPSC 473 (Operating Systems)
3
3
ENGL 202C (Technical Writing)
3
3
EE 353 (Signals & Systems)*#
3
SEMESTER 8 (16.5 credits)
3
CMPEN Computer Engineering Elective
3
3
CMPSC/CMPEN 400-level~
3
3
CMPSC/CMPEN 400-level~
3
3
Department List (General Elective)
3
3
GA, GH, or GS course
3
1.5
Health & Physical Activity (GHA)
1.5
* A grade of C or better in these courses is required for graduation. (MATH 140, MATH
141, MATH 250/251, CHEM 110, PHYS 211, and PHYS 212 require a C or better for
entrance to the major). If a course requires a “C” or better and the course is a
prerequisite for another course, a “C” is required to meet the prerequisite.
~ Select from any 400-level CMPSC/CMPEN course (may not duplicate material already
taken or required).
This course is the equivalent of the combination of CMPEN 271 and CMPEN 275.
# EE 353 is usually only offered in the spring semester
GRADUATION REQUIREMENTS
Many of the courses below have prerequisites; some prerequisites are shown in
parentheses; others are given in the Bulletin.
Computer Science and Engineering (34 credits)
o CMPEN 270 (4) – Introduction to Digital Systems (Concurrent: PHYS 212)
o CMPEN 331 (3) Computer Organization and Design (CMPEN 271 or CMPEN
270; CMPSC 121 or CMPSC 201)
o CMPEN 362 (3) Communication Networks (CMPEN 271 or CMPEN 270;
Concurrent: STAT 301 or STAT 318 or STAT 401 or STAT 414 or STAT 418)
o CMPEN 431* (3) Introduction to Computer Architecture (CMPEN 331 or
CMPEN 371)
o CMPSC 121 GQ (3) – Introduction to Programming Techniques (MATH 110 or
MATH 140 concurrently or as a prerequisite) OR
CMPSC 131 (3) – Programming and Computation I Fundamentals (MATH 110
or MATH 140 concurrently or as a prerequisite)
o CMPSC 122 (3) Intermediate Programming (CMPSC 121) OR
CMPSC 132 (3) - Programming and Computation II Data Structures (CMPSC 121
or CMPSC 131)
o CMPSC 221 (3) Object Oriented Programming with Web-Based Applications
(CMPSC 122)
o CMPSC 311 (3) Systems Programming (CMPSC 221)
o CMPSC 360 (3) Discrete Mathematics for Computer Science (Concurrent:
CMPSC 122)
o CMPSC 465* (3) – Data Structures and Algorithms (CMPSC 360 or MATH 311W)
o CMPSC 473* (3) – Operating Systems (CMPSC 311; CMPEN 331)
*Neither transfer credits nor study abroad credits may substitute.
Computer Engineering Electives (12 credits)
Select 6 credits from any 400-level CMPSC or CMPEN course, excluding 494, 496,
497 and courses offered at non-UP locations which cover duplicate material.
Select 6 credits from the following list (prerequisites appear in parentheses).
o CMPEN 416 (3) Digital Integrated Circuits (EE 310)
o CMPEN 417 (3) Digital Design using Field Programmable Devices (CMPEN
331)
o CMPEN 454 (3) Fundamentals of Computer Vision (MATH 230 or MATH 231;
CMPSC 121 or CMPSC 201)
o CMPEN 455 (3) Digital Image Processing (EE 353 or EE 350; CMPSC 121 or
CMPSC 201)
o CMPEN 471 (3) Logical Design of Digital Systems (CMPEN 331)
o CMPEN 472 (3) Microprocessors and Embedded Systems (CMPEN 331)
o CMPEN 473 (3) Microcomputer Laboratory (CMPEN 472)
o CMPEN 475 (3) Functional Verification (CMPEN 331)
o EE 453 (3) Fundamentals of Digital Signal Processing (EE 351 or EE 351 or EE
353)
o EE 456 (3) – Introduction to Neural Networks (CMPSC 201; MATH 220)
Some courses are NOT offered every semester or even every year.
Writing Intensive Course (3 credits)
o CMPEN 482W (3)Computer Engineering Project Design (EE 310, EE 353,
CMPSC 473, ENGL 202C)
Electrical Engineering (11 credits)
o EE 210 (4) – Circuits and Devices (: PHYS 212; concurrent: MATH 250)
o EE 310 (4) – Introduction to Electron Devices and Circuits (EE 210)
o EE 353 (3) – Signals and Systems: Continuous and Discrete-Time (CMPSC 201 or
CMPSC 202, EE 210, MATH 250)
EE 353 is only offered in the Spring semester
Communications (9 credits)
o ENGL 15 GWS (3) – Rhetoric and Composition (ENGL 30 GWS may be
substituted)
o ENGL 202C GWS (3) – Technical Writing
o CAS 100 A/B (3) – Effective Speech
ENGL/CAS 137 & 138 may substitute for ENGL 15 and CAS 100
Quantification and Statistics (18 credits)
o MATH 140 GQ (4) – Calculus with Analytic Geometry I
o MATH 141 GQ (4) – Calculus with Analytic Geometry II
o MATH 220 GQ (2) – Matrices
o MATH 231 (2) – Calculus of Several Variables
o MATH 250 (3) – Ordinary Differential Equations
o STAT (MATH) 418 (3) – Probability
Health Sciences and Physical Education (3 credits)
The Health Science/Physical Activity (GHW) requirement can be met by taking one 3-
credit course or various credit combinations, most frequently two 1.5 credit courses,
(which can be taken in different semesters). A student who completes an ROTC
program may use 3 credits of ROTC to satisfy the GHA requirement.
Natural Sciences (13 credits)
o CHEM 110 GN (3) – Chemical Principles
o PHYS 211 GN (4) – General Physics (mechanics)
o PHYS 212 GN (4) – General Physics (electricity, magnetism)
o PHYS 214 GN (2) – General Physics (wave motion and quantum physics)
Arts, Humanities, Social and Behavioral Sciences, US & International
Cultures (18 credits)
Six credits are required in each of the 3 categories: Arts (GA), Humanities (GH), and
Social and Behavioral Sciences (GS), as listed under the University’s General
Education Guidelines [see the University’s Baccalaureate Degree Programs
Bulletin]. You may use one of your Arts, Humanities, or Social or Behavioral Sciences
selections to fulfill the University’s US & International Cultures requirement. Note that
either ECON 102 or ECON 104 is required for the major.
**For US/IL courses, see General Education and US & International Cultures in the
Curriculum on-line and the Semester Courses Schedules. The College of
Engineering encourages you to be a Globally Ready student in which Global Readiness
is defined as having the knowledge and appreciation of the global nature of
engineering and related professions, as well as the challenges and opportunities
associated with contemporary worldwide issues. Students should graduate, being
ready to practice their profession in a global context by being sensitive to and
respectful of the differences that affect professional practice throughout the world. To
assist you in being Globally Ready the College of Engineering encourages you to select
as an IL course one of the courses off the list which may be found at:
http://www.engr.psu.edu/global/students/illimited.htm
Department List (General Elective) Guidelines (6 credits)
These 6 credits are sometimes called approved free electives or general electives,
but restrictions apply as described below. These credits provide some flexibility and
also allow inclusion of up to 3 credits of ROTC or up to 3 Cooperative Education
credits. If your US/IL course was not an Arts, Humanities, Social or Behavioral Sciences
course, it may be counted in this list. (For US/IL courses, see the General Education
and US & International Cultures in the Curriculum booklet and the Schedule of
Courses). We encourage, but do not require, the taking of technical electives in
Computer Science, Engineering, Math or Physics in this category.
The following restrictions apply:
- No courses not satisfying minimum requirements for a baccalaureate degree
program (see course descriptions in University Bulletin)
- No courses described as intended for non-science or non-technical majors in
course descriptions in the University Bulletin (You may take non-technical
courses, but look at the Bulletin to be sure the description doesn’t say “for non-
science majors only”).
- No courses similar or remedial to a required course or course already taken
(when in doubt, check with your advisor before scheduling the course). For
example, you may not include 2 credits of MATH 140A or 2 credits of CHEM 106.
- No more than 3 credits of ROTC
- No more than 3 additional credits of physical education
- No more than 3 credits of Cooperative Education
- No more than 2 credits of Engineering Internship
- None of the following:
o Astronomy (ASTRO) 1, 10, 11, 120, 140
o Biological Science (BI SC) 1, 2, 3, 4
o Chemistry (CHEM) 1, 3, 108, 101
o Computer Science (CMPSC) 100, 101, 200, 201, 203
o Earth and Mineral Sciences (EM SC) 150
o English as a Second Language (ESL) 004
o Information Science & Technology (IST) 140, 210, 230, 240, 242, 261, 311,
361
o Language and Literacy Education (LL ED) 5, 10
o Mathematics (MATH) 200, MATH below 140
o Philosophy (PHIL) 12
o Physical Science (PH SC) 7
o Physics (PHYS) 250, 251, PHYS below 211
o Science, Technology, and Society (S T S) 150
o Speech Communication (CAS) 126, 283
o Statistics (STAT/MATH) below 319
o Statistics (STAT/MATH) 401
o
First Year Seminar (1 credit)
Small interactive classes that allow first-year students to meet faculty and alumni,
explore different majors and career opportunities, or focus on hands-on projects and
skill development. If you started at a campus that did not require First Year Seminar
or are a transfer credit then you must add an additional credit to the Department List
requirement.
Helpful University Park Offices and Phone Numbers
College of Engineering:
Dean’s Office, 101 Hammond Building
865-
7537
Associate Dean Academic Programs, 101 Hammond Building
863-
3750
Global Engineering Education, 205 Hammond Building
863-
9899
Engineering Advising Center, 208 Hammond Building
863-
1033
Assistant Dean for Student Services, 208G Hammond Building
865-
7539
Multicultural Engineering Program, 208 Hammond Building
865-
7138
Women in Engineering Program, 208 Hammond Building
863-
1080
Engineering Career Resources and Employer Relations, 205
Hammond Building
863-
1032
Outreach for Adult Learners, 128 Outreach Building
863-
2504
Career Services, 101 MBNA Career Services Center
865-
2377
Information Technology Services (ITS) Help Desk, 204 Wagner
Building
865-
4357
Counseling and Psychological Services (CAPS), 501 Student Health
Center
863-
0395
Student Disability Resources, 116 Boucke Building
863-
1807
Penn State World Campus, 128 Outreach Building
865-
5403
Division of Undergraduate Studies (DUS), 101 Grange Building
865-
7576
Penn State Learning, 220 Boucke Building
865-
1841
Office of Student Aid, 314 Shields Building
865-
6301
Residence Life, 201 Johnston Commons
863-
1710
Undergraduate Admissions (for transferring credits), 201 Shields
Building
865-
5471
Schreyer Honors College, 10 Schreyer Honors College (Atherton Hall)
863-
2635
Office of Veterans Programs, 325 Boucke Building
863-
0465
General Information, HUB Desk, First Floor Lobby
865-
2000
Sources of Information
This Handbook provides program information specifically for the undergraduate
computer science major. It should be used as a supplement to the College of
Engineering Undergraduate Programs Guide that is available online. The information
in this Handbook pertains to students who entered or will be entering the major in
Summer 2018, Fall 2018, or Spring 2019 semesters (2018 program year). Students
entering the major in an earlier year should refer to the appropriate earlier version of
the Handbook. Students in pre-major (ENGR) status may use this Handbook as a
reference for scheduling; however, your official degree requirements will be
established when you enter the major. For information about the computer
engineering degree, refer to the Computer Engineering Undergraduate Handbook.
For information about the data science (computational option) degree, refer to the
Data Science Computational Option Undergraduate Handbook. All of these
documents are available in the department office, W210 Westgate Building
and online at http://eecs.psu.edu/students/undergraduate/Majors-Minors-
Certificates.aspx. (If you are at a campus other than University Park, you should
contact the College of Engineering representative at your location).
Although this Handbook lists all requirements for the computer science major, only
those specific to computer science are described in detail. Other general College and
University requirements are discussed only briefly with references to more
comprehensive supporting documents. Hard copies of these documents can be
obtained from a Dean’s office or local bookstore. Many are available on-line. A list of
useful web resources is provided below. For easy reference, resource names are
printed in bold throughout the Handbook.
Registrars Schedule of Courses https://public.lionpath.psu.edu/
Undergraduate Advising Handbookhttp://handbook.psu.edu
Academic Advising Portal – http://advising.psu.edu
School of EECS http://eecs.psu.edu
Penn State Universityhttp://www.psu.edu
Engineering Advising Centerhttp://www.engr.psu.edu/Advising/
Bulletin of Baccalaureate Degree Programs http://bulletins.psu.edu/undergrad
University Faculty Senate Policies and Rules for Undergraduate Students
http://www.senate.psu.edu/policies/
Student Guide to General University Policies and Rules
http://studentaffairs.psu.edu/conduct/docs/PoliciesRules.docx
General Education and US & International Cultures in the Curriculum
http://bulletins.psu.edu/undergrad/generaleducation/
LionPath http://launch.lionpath.psu.edu
Association of Women in Computing - http://www.awc.cse.psu.edu
Association for Computing Machinery Student Chapter http://acm.psu.edu
For additional information, you can contact the Engineering Advising Center (208
Hammond, 863-1033), the Assistant Dean for Student Services (208 Hammond,
865-7539), or the Department of Computer Science and Engineering (W209A
Westgate Building, 865-9505). The structure in the Department of Computer
Science and Engineering includes an Undergraduate Program Coordinator, an
Undergraduate Adviser and an Undergraduate Staff Assistant, all of whom can
provide information and guidance during your academic. If you communicate via
e-mail, always use your Penn State account, not another account such as Gmail.