Computer Engineering is a branch of engineering that combines software and electrical engineering to develop computer systems. Computer engineers are involved in the hardware development process, designing and building hardware systems; and they are involved in the software process, designing and building the operating systems and applications programs for those systems. These skills are vital for today’s pervasive computing environment, where we are literally surrounded by systems built from discrete components, microcontrollers, embedded Systems-On-a-Chip, and reconfigurable logic devices.
Our ABET-accredited Bachelor of Science in Computer Engineering is focused on the interface between the hardware and the software. This degree combines physics courses that cover analog and digital circuitry with CE courses that focus on the software right above that hardware. Students in this program not only develop software, but also build printed circuit boards for a variety of control applications. We think that it is critical that our CE students understand the process of manufacturing printed circuit boards because that can help them design efficient boards. Therefore, we have a suite of equipment that allows our students to do every step of building their own systems, starting from the blank copper and ending with a working control system. Graduates of this program will be well prepared to develop control systems for industry or government applications.
Computer engineers are actively involved in the development of the next generation of computers, smartphones, and tables. They are also involved in the development of computer systems for medical, automotive and industrial automation systems. As a result, computer engineers are employed across a wide range of industries, from small shops that build custom boards to large multi-national organizations that are literally transforming the way technology is used in our society.
Engineering Versus Engineering Technology Degrees
Engineering programs present a focus on engineering theory and design, supported through advanced science and higher-level mathematics through advanced calculus and differential equations. Engineering Technology programs typically focus on applied sciences and mathematics such as algebra and applied calculus. Graduates of an engineering program may be called engineers; graduates of a four-year engineering technology program are called engineering technologists. Graduates of an engineering program are prepared to continue on to advanced study at the master’s or doctoral level. Graduates of an engineering program may work to earn the professional engineer license; whereas the National Society of Professional Engineers opposes acceptance of engineering technology. ABET provides a good summary that describes the differences.
Our program was designed to meet a number of competing goals. The first was to create a strong academic program that meets national academic requirements while keeping a core of the liberal-arts general education program to create a well-rounded engineer. The second was to create an accessible, affordable program for the Commonwealth. The program requires 120 credits and can be completed in four years. The program was also designed to create paths for students to complete coursework at the Commonwealth's community colleges and other PASSHE schools and transfer into Shippensburg University to complete the program.
The Computer Engineering degree is based on existing highly respected programs in computer science, mathematics and physics. These programs are well known for their student-centered focus, our graduates are well-prepared for a variety of careers. The ability for Ship faculty to focus on developing individual students' potential is even more important for a demanding engineering program.
Another reason to consider Shippensburg University is flexibility. The Computer Engineering program is part of a continuum of programs, including degree programs in: mathematics, applied mathematics, computer science, software engineering, computer engineering, applied physics, and physics. Students who enter into one of these STEM programs have the flexibility to change majors between these programs with relative ease. This can be important as student's goals change.
The Computer Engineering degree program is accredited by ABET, Inc., placing Shippensburg University among 46 Pennsylvania colleges and universities that have ABET-accredited programs and one of 13 that include computer science programs. For more information on ABET, visit ABET Information.
ABET accreditation means that the national accrediting organization has spent time on our campus making sure that our curriculum meets national standards, our faculty are well-supported and current in the discipline, and our infrastructure is up-to-date and well-supported. It is your assurance that, not only is our program strong today, but we have also laid the foundation so that it will continue to be strong in the future.
Computer engineers possess hardware and software development skills that will enable them to work in any aspect of the computing life cycle. They have training in a broad range of computer science, software engineering, mathematics, physics, and basic science to enable them to participate in a wide range of the product development life cycle. They may work with electrical engineers in a team developing new hardware; or with systems programmers in developing device drivers and operating systems interfaces; or they may work with software engineers to develop the high level applications that run on the device.
The Economic Development and Employer Planning System provides long-term supply and demand data for a wide variety of careers. Nationally, they report an average of 15,340 open positions per year. Regionally, they report an average of over 300 open positions per year for Pennsylvania and nearly 2,800 for the surrounding region (PA, MD, NJ, VA). They forecast demand to far exceed the available workforce.
The program at Ship will provide sufficient skills for students to pursue their careers as computer engineers; or they may easily transition into any of the careers followed by computer science generalists. Additionally, students will be well qualified for further study in a post-baccalaureate program.
Graduates of the Computer Engineering program will be prepared to achieve the following career objectives:
- Satisfying work in a field of their choice (corporate or academic)
- Have obtained a satisfying position
- Have confidence in their ability to move to their next position of choice
- Continue to be an effective and productive member of his/her workplace by applying the fundamentals taught in our program
- Effective problem solving skills
- Effective communication
- Critical thinking
- Sound business practices
- Professional standards
- Behaving in accordance with professional ethics
- Remain a member of his/her larger community by
- Participating actively in professional organizations
- Using expertise through volunteering
- Continue to learn and develop within his/her field of interest by participating in
- Graduate school
- Self study
- Expand breadth of scope and leadership role and advance toward one or more of the following career paths: technical, managerial, or business
The expected outcomes of this program give students the ability to:
- Apply knowledge of mathematics, science, and engineering
- Design and conduct experiments, as well as to analyze and interpret data
- Design a system, component, or process to meet desired needs within realistic constraints such as economic, environmental, social, political, ethical, health and safety, manufacturability, and sustainability
- Function on multidisciplinary teams
- Identify, formulate, and solve engineering problems
- Understand professional and ethical responsibility
- Communicate effectively
- Obtain a broad education necessary to understand the impact of engineering solutions in a global, economic, environmental, and societal context
- Recognize the need for, and an ability to engage in life-long learning
- Gain knowledge of contemporary issues
- Use the techniques, skills, and modern engineering tools necessary for engineering practice
Enrollment & Graduation Statistics for the Computer Engineering Program
Note: Enrolled is the total number of students in the program - not the number of incoming students
|ENGR 100||Engineering Seminar I|
|ENGR 200||Engineering Seminar II|
|ENGR 300||Engineering Seminar III|
|ENGR 120||Programming for Engineers|
|ENGR 310||Statistical Process Control|
|MAT 375||Probability and Statistics for Engineers|
Physics (20 crs.)
|PHY 205/ PHY 123||Intermediate Physics I|
|PHY 206/ PHY 125||Intermediate Physics II|
Mathematics (23 crs.)
|MAT 211||Calculus I|
|MAT 212||Calculus II|
|MAT 213||Calculus III|
|MAT 225||Discrete Mathematics|
|MAT 322||Differential Equations|
Computer Science and Engineering (32 crs.)
For the capstone experience, a student can take either CMPE 498 or CMPE 499.
|CMPE 220||Computer Organization|
|CMPE 320||Operating Systems|
|CMPE 322||Microcontrollers & Interfaces|
|CMPE 410||Real-Time and Mobile Computing|
|CMPE 420||Digital and Reconfigurable Computing|
|CMPE 498||Engineering Research Methods|
|CMPE 499||Engineering Design & Development|
Electives (12 crs.)
12 credits of CMPE or ELEC courses at 300 level or higher, internship, or CS course with departmental approval.
CMPE220 Computer Organization
Description: Introduces organization and architecture of computer systems from the standard von Neumann model to more recent architectural concepts. Internal structure and organization of a computer leads to significant differences in performance and functionality, giving rise to an extraordinary range of computing devices from hand-held computer to large-scale, high performance machines. To gain a better understanding of exactly how a computer functions, students will write programs in a common assembly language.
Prerequisites: CSC 111 for level with C or better or ELEC 100 with C or better) AND MAT 225 with C or better
CMPE320 Operating Systems
Description: An operating system provides an abstract interface with which programmers can control hardware. The study of this area includes both the use of operating systems (externals) and their design and implementation (internals). This course will include laboratories to simulate or experiment with operating system concepts. Topics include overview of operating systems, processes and concurrency, memory management, scheduling, input/output and file systems, system performance evaluation, ethics, and security.
Prerequisites: CMPE 220 with C or better
CMPE322 Microcontrollers & Interfaces
Description: Students will use basic microprocessors and TTL logic components to created embedded solutions to real-world problems including: basic device control, serial and wireless communications, EEPROM storage and retrieval, and interfacing with analog sensors. Students will use assembly and C languages for software development, and will use basic electronics skills to connect components. COREQUISITE: PHY313 Intermediate Physics 2
Prerequisites: (CMPE 220 or CSC 220 with C or better) AND PHY 355 with C or better
CMPE410 Real-Time and Mobile Computing
Description: Students will develop applications for real-time operating systems and today's hand-held devices. Students will learn about hard and soft real-time systems, differences between general purpose operating systems and real-time operating systems (RTOS), how to identify and meet real-time goals in an application. Students will also learn how to design, develop, and deploy applications to a mobile operating system, such as a modern smartphone, PDA, or table computer.
Prerequisites: CMPE 320 with C or better.
CMPE420 Digital and Reconfigurable Computing
Description: Students will develop solutions using high performance digital circuits based on embedded processors and Field Programmable Gate Arrays (FPGA). Students will use Verilog to create, simulate, and test their solutions, and to ensure they meet the timing and packaging constraints of the problem. Students will also write code for portable computer systems, such as PDAâ€™s and cell phones.
Prerequisites: CMPE 320
CMPE498 Engineering Research Methods
Description: Computer and Electrical Engineering students enrolled in this course will work under the direction with faculty to conduct directed research in an area related to Computer and/or Electrical Engineering. Students will use basic research strategies, including literature reviews, designing experiments, and conducting tests to complete a research project. Students are expected to produce results that lead to external publication at a conference or in a journal. This course is designated as a capstone course for Computer and Electrical Engineering. Although the course is two credit hours, students should expect to work considerably more to complete their projects.
Prerequisites: CMPE 322 with C or better
CMPE499 Engineering Design and Development
Description: Computer and Electrical Engineering students will work together in development teams to complete a development task. Starting from a given problem, they will plan and design a solution to that problem, and then go on to implement and test their plan. Students demonstrate their capabilities by using the engineering method to analyze the problem to develop requirements, estimate time and costs, perform safety and risk analysis, and develop an implementation plan. The team will then follow that implementation plan to develop their solution and demonstrate their final product. This course is designated as a capstone course for both Computer and Electrical Engineering. Although the course meets for 2 credit hours per week, students should expect to work substantially more hours with their team, outside of class. Graduate students are not permitted to take this course.
Prerequisites: CMPE 322 with C or better
ENGR100 Engineering Seminar 1
Description: The goal of this course is to prepare the student for study in an engineering discipline. This will include general skills for achieving success in college in addition to an introduction to the engineering disciplines and the engineering development process.
ENGR110 Modeling and Simulation
Description: An introduction to modeling physical systems and simulating them using scientific computation software. Topics will include modeling dynamic systems, the basic mathematics of modeling physical systems, including difference equations, arithmetic and geometric series, spring-damper systems, open- and closed- loop systems. To support these topics, students will learn to use the MATLAB and Simulink systems, including basic expression evaluation, scalar, vector, and multi-dimensional variables, conditionals, repetition, and writing basic functions.
Prerequisites: Math placement 6.
ENGR120 Programming for Engineers
Description: An introduction to programming for electrical engineers. This course is a highly focused introduction to programming in C language. It covers the basics of programming including procedures, variables, types, loop, and control structures. The course introduces basic computing resources, and introduces algorithmic solutions to common engineering and numerical problems.
Prerequisites: Math placement 6
ENGR200 Engineering Seminar 2
Description: This course is focused on the tools that teams use to engineer solutions together. Participation in a team project will help the students learn about and apply current team coordination tools for project management, configuration management, and personal improvement.
ENGR300 Engineering Seminar 3
Description: The goal of this course is to prepare the student for upper class courses and entering the workplace. Career preparation will include strategies for finding internships and full-time positions and preparing for the hiring process (building a resume, writing a cover letter, and interviewing). Academic preparation will be focused on how to find and read journal publications on a given topic.
ENGR310 Statistical Process Control
Description: The course will develop the studentsâ€™ understanding of statistical process control. A variety of control charts will be used for assessing process stability and estimation of process capability. Â We will also study how engineers design experiments based on statistical quality control for the purpose of controlling, improving, and optimizing the engineering process.
Prerequisites: MAT 375 with C or better.
The lab houses a variety of specialized equipment, including FPGA, SoC, and microcontroller boards that students may use in our labs, or check out for use outside of our lab resources. Students have access to rework stations, inspection microscopes, oscilloscopes, tools, and our discrete components inventory. Students will also have access to nearly $300,000 worth of professional computer aided design packages and integrated development environments. Using our department's VPN, students can install these packages on their personal equipment and use any of our licenses on their personal computers.