Pennsylvania State University-Penn State Erie-Behrend College · Courses
CMPEN
40 courses with the subject CMPEN, each shown exactly as we captured it from the college's catalog, with every element we hold. Where the wording looks broken, that is our reading of the catalog, not the college's text.
CMPEN 111Computers and Computer Hardware1
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.
Engineering 300 level 400 level selection (consult selection) with an academic adviser for options) MATH 400 level selection 3 General Education Course (consult with an academic adviser for options)1 ‡
/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.
INTRODUCTION TO MAJOR COMPONENTS OF A COMPUTER SYSTEM, HOW THEY FUNCTION TOGETHER IN EXECUTING A PROGRAM, HOW THEY ARE DESIGNED. CMPEN 331 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).CMPEN 331 is a required course for both computer engineering and computer science majors.CMPEN 331 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: (CMPEN 270 or CMPEN 271) and (CMPSC 121 or CMPSC 131 or CMPSC 201)
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: CMPEN 271 and CMPEN 275
Design/development of embedded systems for data acquisition, process control, and special-purpose computing systems; peripheral interfacing, serial/parallel communications and bus systems. CMPEN 352W 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: (CMPEN 351 or CMPEN 472) and EE 210 Writing Across the Curriculum
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: CMPEN 270 or CMPEN 271 Concurrent Courses: STAT 318 or STAT 401 or STAT 414 or MATH 414 or STAT 418 or MATH 418 Cross-listed with: EE 362
Theory, design, and implementation of digital circuits based on combinational and sequential circuits; implementation of designs using hardware description language. CMPEN 371 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: CMPEN 271 and CMPEN 275 and (CMPSC 121 or CMPSC201) and (EE 210 or EE 211)
/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
/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.
Basic building blocks of CMOS design, design rules, chip planning, layout design, system power and timing, simulation of VLSI structures. Enforced Prerequisite at Enrollment: (CMPEN 371 or CMPEN 471) and EE 310 Undergraduate - The Pennsylvania State University 2026-2027 3911
CMPEN 415Computing with Commercial Quantum Computers3
This course will introduce practical quantum computing using commercially available noisy quantum computers. The complex relationships among quantum computing, mathematics, physics and computer science and engineering will be conveyed to the students through activities, lab assignments, and class projects. The course is designed for upper-level undergraduate students and graduate students majoring in science or engineering. Although a basic understanding , of quantum science and engineering provides important background for the field of quantum computing, this course does not focus on quantum physics. Rather it will focus on the software side of things which only needs logical understanding of quantum bits (qubits) and not the physical implementation. Hence this course is meant for students to contribute to quantum computing without getting into the complexity of quantum mechanics. Upon completing the course, the students are expected to understand the quantum computing taxonomy at the introductory level with simple worked out examples using superconducting qubits. They will also learn techniques to program a real quantum computer to solve combinatorial problems. Enforced Prerequisite at Enrollment: MATH 220 and (CMPSC 121 or CMPSC 131) Recommended Preparations: EE/ESC/PHYS 337 provides a good introduction to quantum engineering and complements this course well. Cross-listed with: EE 415
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)CMPEN 416 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.CMPEN 416 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
CMPEN 417Digital Design Using Field Programmable Devices3
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: CMPEN 331 Cross-listed with: EE 417
Introduction to computer architecture. Memory hierarchy and design, CPU design, pipelining, multiprocessor architecture. CMPEN 431 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: CMPEN 331 or CMPEN 371
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)CMPEN 454 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
CMPEN 455An Introduction to Digital Image Processing3
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/CMPEN 455, 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 Undergraduate - The Pennsylvania State University 2026-2027 3913 described. Finally, the multimedia image-compression methodologies, JPEG and MPEG, are discussed. Enforced Prerequisite at Enrollment: (EE 350 or EE 353 or EE 352) and (CMPSC 121 or CMPSC 131 or CMPSC 201) Cross-listed with: EE 455
CMPEN 462Wireless Communications Systems and Security3
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: CMPEN 362 or EE 362
Microprocessors: architecture, design, assembly language, programming, interfacing, bus structure, and interface circuits and their use in embedded systems. CMPEN 472 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: CMPEN 331
Design of digital systems using microprocessors. CMPEN 473 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. CMPEN 472 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: CMPEN 472
Introduce concepts, methods, and technology for effective functional verification of modern electronic systems. CMPEN 475 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 identifie 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: CMPEN 331
* level) Technical Elective (300, 400- 3 General Education Course 3 * level) (GA/GH/GS) Technical Elective (300, 400- level) * 3 General Education Course (GA/GH/GS) General Education Course 1.5 (GA/GH/GS) 16.5 15 Total Credits 129 * Course requires a grade of C or better for the major ‡ Course requires a grade of C or better for General Education # Course is an Entrance to Major requirement † Course satisfies General Education and degree requirement Must be completed prior to the third year to ensure that all fall semester third-year prerequisites are met. Course will satisfy Writing Across the Curriculum requirement. University Requirements and General Education Notes: 3 US and IL are abbreviations used to designate courses that satisfy 1 Cultural Diversity Requirements (United States and International Cultures).
Computer engineering design project, project management, documentation, reporting, and group and individual communication skills. CMPEN 482W Computer Engineering Project Design (3) The two principle goals of CMPEN 482W 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, d 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.CMPEN 482W is not a prerequisite for any other course.CMPEN 482W 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: CMPSC 311 and EE 310 and EE 353 Enforced Concurrent at Enrollment: CMPSC 473 Recommended Preparation: ENGL 202C Writing Across the Curriculum
/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
/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.