Computer Engineering (CMPEN) | Penn State (2024)

CMPEN111

Computers and Computer Hardware

1 Credits

A brief orientation to University life and resources and an introduction to computers and computer hardware. CMPEN 111S Computers and Computer Hardware (1)This course contains two components: an orientation to University life and an introduction to the hardware aspects of computer engineering. In the orientation to University life, students learn about the responsibilities of and expectations on a student including ethical behavior, and explore some of the academic and non-academic resources of the University. In the introduction to computer engineering students learn about some of the fundamental concepts, devices, and methodologies that are involved in the design and use of digital and computer hardware. This exploration begins with a foundation of logic and critical thinking. Logic is examined first from a theoretical problem solving standpoint. The discussion then progresses to an implementation perspective examining how logic devices are created and used. Included is a look at some CAD tools and some logic design laboratory exercises. Using logic as a basic building block, the organization and design of a computer is then examined, ending in an exploration of some of the contemporary methods used to make computers faster and more efficient.

First-Year Seminar

CMPEN270

Digital Design: Theory and Practice

4 Credits

Introduction to digital systems and their design. Topics include combinational and sequential devices and circuits, modern design tools and design practices. Students may take only one course for credit for CMPEN270 or CMPEN271 and CMPEN270 or CMPEN275. CMPEN270 Digital Design: Theory and Practice (4)CMPEN270 is a first course in digital systems and digital system's design. It lays the groundwork for many later courses in computer organization and architecture and switching theory. The course includes both a lecture component to introduce important concepts, principles, methodologies and theories and a laboratory component in which the lecture material can be applied and practiced. The course introduces the theoretical foundation for digital systems including number systems, a variety of commonly used codes and Boolean algebra. Combinational devices, logic gates, and sequential devices, latches and flip-flops are introduced along with design techniques, methods and tools. Design criteria and objectives are considered and design trade-offs are examined. Higher level design elements are also examined such as decoders, multiplexers, counters, and registers, and their use in system design. Students are exposed to a variety of design tools and implementation techniques, including schematic capture tools, simulation tools, Hardware Description Languages (HDL) and HDL design tools. Laboratory work includes the design, construction and debugging of a variety of digital circuits, and the use of standard laboratory tools such as the oscilloscope and logic analyzer, and various software design tools.

Enforced Concurrent at Enrollment for: PHYS212

CMPEN271

Introduction to Digital Systems

3 Credits

Introduction to logic design and digital systems. Boolean algebra, and introduction to combinatorial and sequential circuit design and analysis. Students may take only one course for credit for CMPEN270 or 271. CMPEN 271CMPEN 271 Introduction to Digital Systems (3)This course introduces students to logic design and digital systems. The course begins with an overview of number systems, base conversions, and binary arithmetic. Boolean algebra is presented and several basic theorems and postulates are introduced. Boolean algebra is then used to model digital devices. Canonical forms for expressing Boolean functions are introduced including sum-of-products and product-of-sum forms.Basic Small Scale Integrated (SSI) combinational devices are introduced along with a description of their operations characterization, and use. The basic symbols used in a logic diagram/schematic are introduced and the principles involved in reading and creating logic diagrams/schematics are discussed.A systematic design methodology for combinational circuits is covered, including the concepts of function minimization using Karnaugh maps, handling don't care conditions, and designing multiple output circuits. Medium Scale Integrated (MSI) combinational devices and functions such as multiplexors and decoders are discussed and their use in a variety of applications is explained. Simple programmable logic devices and their use in implementing combinational functions is covered. The process of combinational circuit analysis is discussed and the use and interpretation of timing diagrams is introduced. Binary arithmetic is reviewed along with binary addition and subtraction circuits. Various negative number codes are discussed including 2's complement, l's complement and sign-magnitude representation.The concept of state and memory is introduced along with various sequential devices including the R-S latch, the D latch and the D, T, and J-K flip-flops. Timing considerations such as set-up and hold times for sequential devices is discussed along with various flip-flop triggering methods. The basic model for a sequential circuit/finite state machine is introduced. A systematic design methodology for creating synchronous sequential circuits is covered including state table/diagram creation, state reduction, state assignment, and circuit implementation. The process of sequential circuit analysis is also described.Special sequential devices and circuits are introduced including counters and registers. Their use in various applications is highlighted. The course ends with a discussion of memory devices including RAM's and ROM'S.Throughout the course, students use a schematic capture and design simulation CAD tool to model and test a variety of circuits.

Enforced Concurrent at Enrollment: PHYS212

CMPEN275

Digital Design Laboratory

1 Credits

Introduction to digital design techniques. Students may take only one course for credit for CMPEN270 or 275.

Enforced Concurrent at Enrollment: CMPEN271 and PHYS212

CMPEN296

Independent Studies

1-18 Credits/Maximum of 18

Creative projects, including research and design, that are supervised on an individual basis and that fall outside the scope of formal courses.

CMPEN297

Special Topics

1-9 Credits/Maximum of 9

Formal courses given infrequently to explore, in depth, a comparatively narrow subject that may be topical or of special interest.

CMPEN299

Foreign Studies

1-12 Credits/Maximum of 12

Courses offered in foreign countries by individual or group instruction.

International Cultures (IL)

CMPEN331

Computer Organization And Design

3 Credits

INTRODUCTION TO MAJOR COMPONENTS OF A COMPUTER SYSTEM, HOW THEY FUNCTION TOGETHER IN EXECUTING A PROGRAM, HOW THEY ARE DESIGNED. CMPEN331 Computer Organization and Design (3) The goals of the course are to introduce students to the major components of a computer system (the data path, the control path, the memory system, the I/O system), how they function together in executing a program, and how they are designed. The relationships between instruction set design, addressing modes, fetch and execute operations, and their impact on the underlying architecture are presented. Students will develop skills both in assembly language programming and in designing architecture components in a hardware description language (VHDL or verilog).CMPEN331 is a required course for both computer engineering and computer science majors.CMPEN331 requires access to PCs/workstations with commercial hardware description language tools (e.g., Synopsys VSS compiler and simulator) and a modern assembler/debugger (e.g., SPIM MIPS assembler, simulator, and debugger).

Enforced Prerequisite at Enrollment: (CMPEN270 or CMPEN271) and (CMPSC121 or CMPSC131 or CMPSC201)

CMPEN351

Microprocessors

3 Credits

Microprocessor architecture; memory system design; assembly language programming; interrupts; the stacks and subroutines; memory and I/O inter- facing; serial I/O and data communications; microprocessors applications.

Enforced Prerequisite at Enrollment: CMPEN271 and CMPEN275

Design/development of embedded systems for data acquisition, process control, and special-purpose computing systems; peripheral interfacing, serial/parallel communications and bus systems. CMPEN352W Microprocessor-based System Design (3) In this course students learn how to design application specific embedded systems. Embedded systems are increasingly important as they are used in industrial applications, personal computing, and consumer products. Embedded systems are based on microprocessors and microcomputers, but are not intended to be general-purpose computers. In the laboratory students will design, implement, and validate application specific embedded systems. Being a writing-across-curriculum course, students will learn effective techniques of reporting their technical designs.

Enforced Prerequisite at Enrollment: (CMPEN351 or CMPEN472) and EE210

Writing Across the Curriculum

CMPEN362

Communication Networks

3 Credits

Data transmission, encoding, link control techniques; communication network architecture, design; computer communication system architecture, protocols. CMPEN 362CMPEN (E E) 362 Communication Networks (3)CMPEN (E E) 362 is an elective course in both the electrical and computer engineering curricula which provides an overview of the broad field of data and computer communications. First, a general model of the communication task is presented, including the layered concept by which each layer provides services for the layer above. First, the lowest (physical) layer is studied. This involves signal design, Fourier analysis representations, bandwidth concepts, transmission impairments and communication media properties. Then the next higher (link) layer is considered which involves organizing bits into frames, data link and error control methods (including frame sequence numbering and error detection principles). Multiplexing to share a link is studied, including frequency division multiplexing, dedicated time division multiplexing, and statistical time multiplexing.At the network layer level, there are two categories: broadcast (usually local area) and switching networks. Broadcast and local area network studies include bus, tree and star topologies, Ethernet, optical fiber bus networks, ring networks, and medium access control protocols.Switching and routing concepts for networks are explained, including both circuit and packet switching, datagrams and virtual circuits. Properties of frame relay and asynchronous transfer mode (ATM) networks are described. Internetworking frame structures, routing and protocols are studied. Also, bridge routing for local networks is described.At the still higher transport (network end-to-end control) layer, transport protocols, including TCP/EP, are described.

Enforced Prerequisite at Enrollment: CMPEN270 or CMPEN271 Concurrent Courses: STAT318 or STAT401 or STAT414 or MATH414 or STAT418 or MATH418

Cross-listed with: EE362

CMPEN371

Advanced Digital Design

3 Credits

Theory, design, and implementation of digital circuits based on combinational and sequential circuits; implementation of designs using hardware description language. CMPEN371 Advanced Digital Design (3) Students will learn advanced concepts in digital design for complex combinational and sequential logic, and learn how to effectively use minimization and synthesis techniques. Contemporary CAD tools and target digital technologies including Field Programmable Gate Arrays (FPGAs) are utilized. The use of a hardware-description language for digital design is introduced. In the laboratory portion, students will implement, simulate, and test designs.

Enforced Prerequisite at Enrollment: CMPEN271 and CMPEN275 and (CMPSC121 or CMPSC201) and (EE210 or EE211)

CMPEN395

Internship

1-18 Credits/Maximum of 18

Supervised off-campus, nongroup instruction including field experiences, practica, or internships. Written and oral critique of activity required.

Enforced Prerequisite at Enrollment: Prior approval of proposed assignment by instructor

CMPEN396

Independent Studies

1-18 Credits/Maximum of 18

Creative projects, including research and design, that are supervised on an individual basis and that fall outside the scope of formal courses.

CMPEN396A

Current Technologies in Computer Engineering

1-6 Credits

Investigation of a current technology relevant to computer engineering.

CMPEN397

Special Topics

1-9 Credits/Maximum of 9

Formal courses given infrequently to explore, in depth, a comparatively narrow subject that may be topical or of special interest.

CMPEN399

Foreign Studies

1-12 Credits/Maximum of 12

Courses offered in foreign countries by individual or group instruction.

International Cultures (IL)

CMPEN411

VLSI Digital Circuits

3 Credits

Basic building blocks of CMOS design, design rules, chip planning, layout design, system power and timing, simulation of VLSI structures.

Enforced Prerequisite at Enrollment: (CMPEN371 or CMPEN 471) and EE310

CMPEN416

Digital Integrated Circuits

3 Credits

Analyses and design of digital integrated circuit building blocks, including logic gates, flip-flops, memory elements, analog switches, multiplexers, and converters. CMPEN 416CMPEN 416 Digital Integrated Circuits (3)CMPEN416 is a technical elective available to electrical and computer engineering students. It is intended for students who wish to specialize in the field of digital circuits. This course introduces the basic concepts involved in the design of digital circuits, which find practical application as logic and memory circuits in computers and other digital processing systems. The course emphasizes integrated circuit process-compatible circuit design techniques in recognition of the amazing synergy that has characterized the relationship between computer circuits and integrated circuit processing technology. This course includes three lectures and a two-hour laboratory each week. The only prerequisite is E E 310, a basic circuits course required for both electrical engineering and computer engineering students.CMPEN416 begins with a review of the bipolar junction transistor (BJT) device and proceeds into the more advanced Ebers-Moll device model. This is followed by an examination of a series of BJT-based saturating and non-saturating digital circuits of ever increasing complexity illustrating the evolution of the modern bipolar logic circuit families. The next phase of the course reviews the metal oxide semiconductor field effect transistor (MOSFET) and proceeds along the same path taken for the bipolar transistor circuits. Various MOSFET logic circuit families are introduced and analyzed. Computer semiconductor memory circuits are considered next. Both BJT and MOSFET versions of both static and dynamic read-write and read-only memories are considered. The cell array, memory addressing circuits, and sense amplifier designs are all examined in detail. This is followed by the related subject of programmable logic arrays, the final topic.The emphasis of the laboratory component of the course is to compare the performance of representatives of each class of circuits to computer simulations of the same circuits. Parameters such as input-output voltage transfer characteristics, noise margins, and propagation delays are evaluated by building and measuring laboratory models. Most of the laboratory exercises require the student to evaluate a specified circuit, but the final exercise requires the student to design a circuit to meet a predefined set of specifications, then to prove that the design meets the requirements by measuring the circuit performance. Students are required to write a formal engineering report detailing the results of each laboratory exercise.

Enforced Prerequisite at Enrollment: EE310

Cross-listed with: EE416

CMPEN417

Digital Design Using Field Programmable Devices

3 Credits

Field programmable device architectures and technologies; rapid prototyping using top down design techniques; quick response systems. CMPEN 417CMPEN (E E) 417 Digital Design Using Field Programmable Devices (3)Field Programmable Devices, such as Field Programmable Gate Arrays (FPGAs) and Complex Programmable Logic Devices (CPLDs) are widely used for rapid prototyping and quick response-time designs. The objective of this course is to introduce the student to digital design using Field Programmable ICs, and to provide an understanding of the underlying technologies and architectures of these Integrated Circuits.The course begins by introducing design alternatives for modern electronic systems identifying and classifying alternative system solutions, and evaluating when particular design solutions are optimal. These alternatives include microprocessors, microcontrollers, off-the-shelf digital ICs, Programmable logic ICs (FPGAs and CPLDs), and various forms of Application Specific Integrated Circuit (ASIC) designs. A homework assignment requires the student to quantitatively evaluate the cost, complexity, packaging, and time-to-market issues for a complex system design specification.Next, the underlying Field Programmable Logic IC architectures and technologies are studied in detail. Following a broad survey of available programmable IC vendors and on-chip programming technologies (and their cost/performance trade-offs), several specific case studies are presented in the class. The first is the Xilinx XC4000xl line, because of the target boards used in the CAD laboratory component for this class. The initial lab portions of the class help the students to specify their design using various forms of design entry tools and also allows them to see how their design map on to the underlying FPGA architecture. The students also learn the underlying algorithms used by the design software they use in their Labs.Next, the systematic top-down method for specifying complex designs using VHDL is introduced. Students are given a supporting homework assignment to develop high-level behavioral models for a simple digital system to reinforce this segment of the course. VHDL behavioral synthesis is now introduced as a preferred path to go from high-level system behavior to actual implementation on the FPGA. The strengths and weaknesses of synthesis are discussed, as are the emerging CAD tool trends. Additional VHDI-based homework assignments reinforce behavioral design and synthesis using commercial CAD tools.The final segment of the class covers special topics that identify current trends in digital system architecture and programmable logic design. These include such topics as partially reconfigurable architectures and dynamic reconfiguration techniques, system design for testability, and field programmable analog arrays. Applications of FPGAs in special purpose computing environments such as signal processing, Java acceleration and image processing are also introduced. In the laboratory, student design project assignments explore larger and more complete system specifications of such things as controllers, CPU and memory design, and signal processing blocks. These assignments reinforce the lecture content as the students model, synthesize and implement their digital designs on the target Xilinx FPGA boards.

Enforced Prerequisite at Enrollment: CMPEN331

Cross-listed with: EE417

CMPEN431

Introduction to Computer Architecture

3 Credits

Introduction to computer architecture. Memory hierarchy and design, CPU design, pipelining, multiprocessor architecture. CMPEN431 Introduction to Computer Architecture (3) This course will introduce students to the architecture-level design issues of a computer system. They will apply their knowledge of digital logic design to explore the high-level interaction of the individual computer system hardware components. Concepts of sequential and parallel architecture including the interaction of different memory components, their layout and placement, communication among multiple processors, effects of pipelining, and performance issues, will be covered. Students will apply these concepts by studying and evaluating the merits and demerits of selected computer system architectures.

Enforced Prerequisite at Enrollment: CMPEN331 or CMPEN371

CMPEN441

Operating Systems

3 Credits

Resource management in computer systems. Process scheduling, memory management, file system design, I/O management, Unix operating system.

Enforced Prerequisite at Enrollment: CMPSC360

CMPEN454

Fundamentals of Computer Vision

3 Credits

Introduction to topics such as image formation, segmentation, feature extraction, matching, shape recovery, object recognition, and dynamic scene analysis. CMPEN 454CMPEN 454 Fundamentals of Computer Vision (3)CMPEN454 is an introduction to computer vision. The goal of computer vision is to make computers understand and interpret visual information. Computer vision systems bring together imaging devices, computers, and sophisticated algorithms for solving problems in areas such as industrial inspection, medicine, document analysis, autonomous navigation, and remote sensing. The course involves both pedagogical written assignments and computer projects.The beginning of the course gives an overview of computer vision and introduces low level image analysis techniques for binary images. Binary vision systems are useful when the silhouette of imaged objects convey enough information to recognize them. Examples can be found in optical character recognition, chromosome analysis and recognition of industrial parts. Moreover, many techniques developed for binary systems can be applied to gray level or color images. Next, the course covers image segmentation and contours. These topics are the foundation of most computer vision techniques. For an image to be correctly interpreted, it must be partitioned into regions that correspond to distinct objects or parts of objects. First, region based techniques such as thresholding, split and merge, region growing and texture analysis are introduced. Next, edge based techniques using gradient and Laplacian operators are discussed. Finally, contour representations and curve approximations linking edges into region boundaries are studied.Next, depth from vision, with emphasis in stereo vision, is considered. Calculating distances to and among various points in the scene is important in many computer vision tasks such as inspection, robot manipulation, and autonomous navigation. In this part of the course the geometry of stereo systems and how to obtain depth maps from stereo image pairs is studied. Also, alternative 3D imaging sensors such as laser based range finders and radars are discussed.Following stereo, the topic of computer vision is broaden to understand sequences of images over time. In this section techniques using information on spatial and temporal changes are used to design computer vision systems capable of coping with moving and changing objects, changing illumination and changing viewpoints. Visual motion is important primarily for two reasons. First, motion is a very important cue to understand the scene structure. Second, biological systems do use motion to infer properties of the surrounding world with very little a priori knowledge.Finally, the topic of 3D object recognition is discussed. Object recognition entails two main issues: object identification and object localization. Identification determines the objects being imaged while localization determines their position in the world and with respect to the sensors. This topic builds upon all the different techniques discussed until this point.

Enforced Prerequisite at Enrollment: (MATH230 or MATH231) and MATH220 and(CMPSC121 or CMPSC131 or CMPSC201)

Cross-listed with: EE454

CMPEN455

An Introduction to Digital Image Processing

3 Credits

Overview of digital image processing techniques and their applications; image sampling, enhancement, restoration, and analysis; computer projects. E E (CMPEN) 455 An Introduction to Digital Image Processing (3) E E/CMPEN455, a technical elective available to both electrical and computer engineering seniors and graduate students, discusses many current techniques for processing and manipulating digital images. The course involves both pedagogical written assignments and computer projects.The beginning of the course gives an overview of digital image processing systems and digital image fundamentals. During this unit, important elements of human visual perception are reviewed; these ideas help motivate many of the computer-based techniques described in subsequent units. Also, the standard model for a digital image, in addition to the concepts of sampling and quantization, are described. Finally, basic topological concepts between digital image pixel are discussed.The next unit considers image transform analysis, with a primary focus on Fourier-based techniques. The one-dimensional Fourier transform is reviewed, and then two-dimensional Fourier transform analysis is discussed. To bridge the gap from the continuous world to the digital world, the sampling theorem is introduced. Next, the Discrete Fourier Transform and its properties are described. Fourier-based filtering techniques, such as the ideal low-pass and Butterworth filters are then introduced. The Fast Fourier Transform is also discussed. Finally, the Discrete Cosine Transform, used later in JPEG and MPEG, is introduced.The next unit discusses techniques for image enhancement and segmentation. These techniques include point-based techniques based on histogram analysis. They also involve linear and nonlinear mask-based methods for noise reduction and region sharpening. Further, techniques of mathematical morphology, which involve an application of set-theoretic concepts to image processing, are described. Finally, image segmentation methods, based on edge detection and thresholding, are described.The final unit considers the concept of image compression. Techniques for image encoding and decoding are discussed. A brief model of the encoding-decoding process is described. Next, compression techniques, such as run-length encoding and Huffman coding, are described. Finally, the multimedia image-compression methodologies, JPEG and MPEG, are discussed.

Enforced Prerequisite at Enrollment: (EE350 or EE353 or EE352) and (CMPSC121 or CMPSC131 or CMPSC201)

Cross-listed with: EE455

CMPEN461

Communication Networks

3 Credits

Data transmission, encoding, link control techniques, network architecture, design, protocols, and multiple access. CMPEN461 Communication Networks (3) This course introduces students to fundamental concepts and principles underlying data communication networks, with an emphasis on the Internet and its five-layer architecture: the application, transport, network, link, and physical layers. The fundamental issues to be covered include, but not limited to, reliable communication over an unreliable network layer, connection establishment/teardown and handshaking, congestion and flow control, path determination, multiple access control. The student learning these principles will gain knowledge that lasts long after today's network standards and protocols have become obsolete.

Enforced Prerequisite at Enrollment: CMPEN271 and (CMPSC121 or CMPSC201)

CMPEN462

Wireless Communications Systems and Security

3 Credits

This course explores the fundamental concepts and engineering processes of wireless communication systems, sensors, and security algorithms through the design, implementation, and evaluation of next generation wireless network architectures, and network and cryptographic protocols. This course is intended as a senior level course for computational majors such as computer science and computer engineering since it covers hardware and software design concepts associated with wireless access, data transmission, and computational security, security models, and privacy in a broad range of settings. The first part of the course studies programmatic, computational, and engineering issues associated with wireless systems and sensors at the physical protocol layer. Hardware, software, and engineering design considerations associated with MIMO, low latency, high reliability, and high data rate constraints will be analyzed. The next part of this course will introduce virtual machines, function virtualization, and network-slicing for constraint matching, resource scheduling, and mobility management at the data link and network protocol layers. The final component of the course focuses on the security and privacy for wireless systems and sensors including models and algorithms. The design and implementation of cryptographic algorithms for cellular, Wi-Fi, Bluetooth, Zigbee, and next generation systems including Device to Device (D2D), Vehicle to Vehicle (V2V),and Machine Type Communications (MTC) are studied and analyzed. Upon completion of the course students will be able to critically analyze the design, implementation, and protocols associated with wireless systems and sensors and assess the computational security and privacy vulnerabilities associated with these systems.

Enforced Prerequisite at Enrollment: CMPEN362 or EE362

CMPEN472

Microprocessors and Embedded Systems

3 Credits

Microprocessors: architecture, design, assembly language, programming, interfacing, bus structure, and interface circuits and their use in embedded systems. CMPEN472 Microprocessors and Embedded Systems (3) In this course students should learn about the operation and design of microprocessor-based systems, including both hardware and software aspects with an emphasis on real time control environments and embedded systems. After completing the course, students should be able to develop, write and debug programs in a microprocessor's assembly language and use standard assembly language program development tools. They should also be able to interpret and analyze basic microprocessor system hardware.This course is a senior level elective for students in computer engineering and computer science.The course requires the use of general department computing facilities consisting of UNIX workstations running the appropriate program development tools.

Enforced Prerequisite at Enrollment: CMPEN331

CMPEN473

Microcomputer Laboratory

3 Credits

Design of digital systems using microprocessors. CMPEN473 Microcomputer Laboratory (3) This laboratory course provides senior students with both theory and practice in designing, implementing, and debugging microprocessor-based systems. Students are guided through a series of projects in which they design, develop, and implement all of the components in a microprocessor based single-board system. After completing the course students will be able to design microprocessor based systems, including both software and hardware design. Students will also be able to use standard system design tools including standard laboratory equipment.This course is a senior level elective for computer engineering majors. CMPEN472 is a prerequisite for this course.The course requires the use of a design laboratory including standard test equipment such as an oscilloscope, logic analyzer and signal generator as well as a PC with appropriate design software and a microprocessor or EPROM emulation system.

Enforced Prerequisite at Enrollment: CMPEN472

CMPEN475

Functional Verification

3 Credits

Introduce concepts, methods, and technology for effective functional verification of modern electronic systems. CMPEN475 Functional Verification (3)Verifying design correctness of increasingly complex system-on-chip designs poses a major challenge to the semiconductor industry. Functional or logic errors in a chip design that are not identified early in the design phase can dramatically increase a project's overall cost and schedule. Further, design verification is consuming an ever-increasing portion of IC development time and cost. As much as 70% of effort in a complex IC design project is now attributed to verification. This course will cover five key aspects of verification: an introduction to verification; a detailed description of simulation-based dynamic verification; formal verification; verification methodologies and advanced techniques; and case studies. First, the course will place verification in the context of the chip design process and introduce the verification cycle. Then, it will cover essential methodology principles and introduce the first hands-on example. It will also delve into various topics in dynamic verification, including the basic constructs of stimuli, monitors, checkers, observations categories, assertions, and test benches. Various case studies on actual industry and research designs will be provided. The course will be supplemented by lab-assignments that provide hands-on experience to experiment with methodologies taught in lectures.

Enforced Prerequisite at Enrollment: CMPEN331

CMPEN480

Computer Engineering Design

3 Credits

Engineering design and modeling, engineering economy, project planning, capstone project selections, and technical communication skills. CMPEN480 Computer Engineering Design (3) This course prepares senior computer engineering students for industrial engineering design and project management. It covers the engineering design process, project planning and evaluation, engineering ethics, and engineering economy. In addition, students select, specify, and start their capstone design project, which is completed, in the follow-up course, CMPEN481. Students are expected to carry out a group design project that is on par with industrial expectations. Upon completion of this course a student should have a solid understanding of the engineering design process, a clear capstone project description, should have completed some preliminary design work, and be adequately prepared to complete the project in CMPEN481.

Enforced Prerequisite at Enrollment: CMPEN352W and CMPEN431

CMPEN481

Computer Engineering Project

3 Credits

Group or individual design projects in the area of computer engineering.

Enforced Prerequisite at Enrollment: CMPEN480

CMPEN482W

Computer Engineering Project Design

3 Credits

Computer engineering design project, project management, documentation, reporting, and group and individual communication skills. CMPEN482W Computer Engineering Project Design (3) The two principle goals of CMPEN482W are (1) to introduce the fundamentals of systems engineering and systems engineering management, and (2) to develop written and oral communication skills. The course explores the process of translating a problem statement into an effective and economical computer system that meets the needs of the customer. Topics include a comparison of popular process models, analysis and derivation of requirements, requirements allocation and flow down, the work breakdown structure, object-oriented analysis and modeling, the design and development of the user interface, reliability engineering, scheduling, costing, and ethics. Communication skills are developed through oral presentations and a sequence of writing assignments, beginning with a description of requirements and leading to a final design document.CMPEN482W is not a prerequisite for any other course.CMPEN482W requires access to PCs or Unix workstations having a C++ compiler. Other specialty hardware or software may be required on a semester-by-semester basis.

Enforced Prerequisite at Enrollment: CMPSC311 and EE310 and EE353 Enforced Concurrent at Enrollment: CMPSC473 Recommended Preparation: ENGL202C

Writing Across the Curriculum

CMPEN494

Research Project

1-12 Credits/Maximum of 12

Supervised student activities on research projects identified on an individual or small-group basis.

CMPEN494H

Research Project

1-12 Credits/Maximum of 12

Supervised student activities on research projects identified on an individual or small-group basis.

Honors

CMPEN495

Internship

1-18 Credits/Maximum of 18

Supervised off-campus, nongroup instruction including field experiences, practica, or internships. Written and oral critique of activity required.

Enforced Prerequisite at Enrollment: Prior approval of proposed assignment by instructor

CMPEN496

Independent Studies

1-18 Credits/Maximum of 18

Creative projects, including research and design, that are supervised on an individual basis and that fall outside the scope of formal courses.

CMPEN497

Special Topics

1-9 Credits/Maximum of 9

Formal courses given infrequently to explore, in depth, a comparatively narrow subject that may be topical or of special interest.

CMPEN499

Foreign Studies

1-12 Credits/Maximum of 12

Courses offered in foreign countries by individual or group instruction.

International Cultures (IL)

Computer Engineering (CMPEN) | Penn State (2024)

FAQs

How hard is it to get into computer engineering UIUC? ›

Potential applicants should carefully read the holistic review process and major-specific criteria that admissions officers look for from applicants. The current admit rate to CS in engineering is 6.7%.

What GPA do you need for computer engineering PSU? ›

earned a minimum cumulative grade-point average (GPA) of 3.20.

Is engineering hard to get into at Penn State? ›

However, the overall acceptance rate for Penn State is around 49% and the College of Engineering is generally considered more competitive compared to some other majors at the university.

What is Penn State ranked in computer engineering? ›

During the 2018-2019 academic year, Pennsylvania State University - University Park handed out 75 bachelor's degrees in computer engineering. Due to this, the school was ranked #42 out of all colleges and universities that offer this degree.

What is the hardest major to get into at UIUC? ›

<p>WHAT IS THE HARDEST MAJOR TO GET INTO AT UIUC? <p>Bioengineering is the hardest major.

What is the acceptance rate for Urbana Champaign computer engineering? ›

Although UIUC does not publish specific acceptance rates for the Computer Engineering program specifically, its overall engineering acceptance rate is around 30-40%.

Do grades matter for computer engineering? ›

If you're a computer science major, GPA DOES NOT MATTER. Only one company has ever asked me for my transcript (just to check if I had above a 3.0) What actually matters: 1. Your resume - ensure you have proper formatting and relevant experiences.

What is the minimum grade for computer engineering? ›

KCSE C+ (plus) Mean grade, and at least B (plain) Mean grade for the total score in the four KUCCPS cluster subjects, and the following minimum grades in the individual cluster subjects: Mathematics C+ (plus), Physics C+ (plus), Chemistry C+ (plus), Geography or Biology, or any group IV C+ (plus). OR K. AC.

What is a passing grade at PSU? ›

In the majority of instances, a pass grade is equated to a C- or better for undergraduate courses and a B- or better for graduate courses, although some departments may differ. A grade of P carries credit but is not included when calculating G.P.A.

What GPA do you need for UIUC computer engineering? ›

Minimum Technical GPA: 2.0.

Does UIUC have a good computer engineering program? ›

Highlights. Our computer engineering program is ranked #4 by U.S. News & World Report.

Is it hard to get into U of T computer engineering? ›

The Engineering program at U of T is pretty tough to get into for a few reasons. First, there is a really high cutoff average, which we discussed above. There are also thousands of applicants every year, and the majority of them have really high averages in the mid/high 90s.

What are my chances of getting into UIUC engineering? ›

University of Illinois's Grainger College of Engineering in Urbana/Champaign, Illinois has a 67% acceptance rate but highly ranked engineering programs, specifically in Physics, Materials, and Civil Engineering and in Engineering Science/Engineering Physics.

References

Top Articles
Latest Posts
Recommended Articles
Article information

Author: Stevie Stamm

Last Updated:

Views: 5759

Rating: 5 / 5 (60 voted)

Reviews: 91% of readers found this page helpful

Author information

Name: Stevie Stamm

Birthday: 1996-06-22

Address: Apt. 419 4200 Sipes Estate, East Delmerview, WY 05617

Phone: +342332224300

Job: Future Advertising Analyst

Hobby: Leather crafting, Puzzles, Leather crafting, scrapbook, Urban exploration, Cabaret, Skateboarding

Introduction: My name is Stevie Stamm, I am a colorful, sparkling, splendid, vast, open, hilarious, tender person who loves writing and wants to share my knowledge and understanding with you.