The World of Raficus
[My Coursework]

Below is a comprehensive course list that summarizes my studies at Penn over 4 years, with descriptions as per the Penn Course Register.

Math | Science | Electrical | Computer | Music | Elective

[Mathematics] (top)

MATH 104: Calculus I
Brief review of High School calculus, applications of integrals, transcendental functions, methods of integration, infinite series, Taylor's theorem. Use of symbolic manipulation and graphics software in calculus.

MATH 114: Calculus II
Functions of several variables, vector-valued functions, partial derivatives and applications, double and triple integrals, conic sections, polar coordinates, vectors and analytic geometry, first and second order ordinary differential equations. Applications to physical sciences. Use of symbolic manipulation and graphics software in calculus.

MATH 240: Calculus III
Linear algebra: vectors, matrices, systems of linear equations, eigenvalues and eigenvectors. Vector calculus: functions of several variables, vector fields, line and surface integrals, Green's, Stokes' and divergence theorems. Series solutions of ordinary differential equations, Laplace transforms and systems of ordinary differential equations. Use of symbolic manipulation and graphics software.

MATH 350: Number Theory
Congruences, Diophantine equations, continued fractions, nonlinear congruences, and quadratic residues.

ESE 301: Engineering Probability
Basic ideas of probability theory. Combinatorics. Random variables and functions of random variables. Means, moments and generating functions. Order statistics and special distributions. Inequalities and the central limit theorem.

[Natural Sciences] (top)

ASTR 012: Astrophysics II
A basic course for majors in astronomy, in other physical sciences, and in engineering.  Stars, galaxies, and the evolution of the universe.

PHYS 150/50: Mechanics and Wave Motion
Classical laws of motions; interactions between particles; conservation laws and symmetry principles; particle and rigid body motion; gravitation, harmonic motion. Supplementary weekly lab.

PHYS 151/51: Electromagnetism and Radiation
Electric and magnetic fields; Coulomb's, Ampere's, and Faraday's laws; Maxwell's equations; emission, propagation, and absorption of electromagnetic radiation; interference, reflection, refraction, scattering, and diffraction phenomena. Supplementary weekly lab.

CHEM 101/53: General Chemistry I
This course emphasizes the understanding of chemical reactions through atomic and molecular structure. This is a university level course, treating the material in sufficient depth so that students can solve chemical problems and can understand the principles involved in their solution. It includes an introduction to condensed matter. This course is presented for students with high school chemistry and calculus. Supplementary weekly lab.

[Electrical Engineering] (top)

ESE 111: Introduction to Electrical Circuits and Systems
This course is designed to provide first-year undergraduate students with an introduction to some key electrical engineering concepts and topics by discussing their roles in some of the commonly used electrical engineering systems such as telephone, TV, radio, computer, etc. Hands-on experience will be provided by laboratory projects. Numerical examples and graphics will be introduced through the use of MATLAB. This course is also a gateway course to electrical engineering and computer engineering and telecommunications options in the ESE undergraduate curriculum.

ESE 115: Java for Electrical Engineers
Intended as a first course in algorithms, programming, and specifically Java. We study the tools and methodology of creating programs that read data, process it, and print to the console. Topics include algorithms, instruction sets, data types, flow control, classes, objects, and arrays.

ESE 116: C and Assembler for Hardware
Intended as a connecter course between computer programming on high-level platforms and more detailed knowledge of processer organization, reading sensors, affecting actuators and understanding how software is used to control hardware. The final programming project is to control Lego robots.

ESE 200/201: Digital Logic Design
The course provides an introduction to modern logic design and digital systems. It starts with an overview of the major building blocks of a computer. It covers combinational logic including logic gates, minimization techniques, arithmetic circuits and modern logic devices such as programmable logic arrays. The next part deals with sequential circuits: flip-flops, registers, memories, and state machines. Case studies involving computer systems are used to illustrate the design of sequential circuits. The use of hardware description language (VHDL) will be introduced. There is a companion lab-based course, ESE 201, required for EE/CTE majors.

ESE 210: Dynamic Systems
Modeling and simulation of linear dynamic systems with emphsis on mechanical, electrical, electromechanical, fluid, and thermal systems.  Laplace transform techniques.  System network principles, operational amplifiers, block diagrams, MATLAB, Simulink, and Pspice computer simulation of dynamic systems. The concept of analogous systems is emphasized.  Transient response analysis and design, equivalent networks, transfer functions, feedback control system fundamentals, and system stability.  The course includes some project work.

ESE 215/205: Electrical Circuits and Systems I
This course provides an introduction to linear electrical system analysis. It will cover Ohm's law, Kirchoff's laws,and circuit analysis techniques such as node voltage, mesh current method and circuit theorems. Independent and dependent sources, R, C, L and operational amplifiers. First and second order circuits. Steady state analysis and phasors. Use of software packages such as SPICE. The associated lab, ESE 205, is required for EE and CTE majors.

ESE 216/206: Electrical Circuits and Systems II
Transformers, Power calculations and filters. Microelectronics circuits with diodes, bipolar junction transistor and field-effect transistors. One stage amplifiers: DC and small signal analysis. Use of software packages such as SPICE. The associated lab, ESE 206, is required for EE and CTE majors.

ESE 220: Algorithms and Data Structures
Abstract Data Types and implementations of them for representing and manipulating information.  Asymptotic notation for analysis of algorithms. Basic data structures such as Lists, Queues, Stacks, Trees.  Algorithms: searching, sorting, spanning, finding shortest paths, finding network flows. Algorithm design paradigms: greedy, divide-and-conquer, backtracking, dynamic programming, randomization.

ESE 224: Digital Signal Processing
Sinusoids, complex exponentials, spectrum representation, periodic signals, Fourier spectra, sampling of continuous-time signals, aliasing and folding, impulse response of linear discrete-time systems, convolution in discrete-time systems, FIR filter structures and their effects on discrete-time signals, graphical representation of the frequency response of FIR filters, cascaded FIR filters, realization of FIR filters, z-transform, poles and zeroes, relationship between the z-domain, frequency domain, and time domain, IIR filters, system function of FIR and IIR filters, convolution and z-transform

ESE 310: Electric Forces and Fields
This course examines concepts of electromagnetism, vector analysis, electrostatic fields, Coulomb's Law, Gauss's Law, magnetostatic fields, Biot-Savart Law, Ampere's Law, electromagnetic induction, Faraday's Law, transformers, Maxwell equations and time-varying fields, wave equations, wave propagation, dipole antenna, polarization, energy flow, and applications.

ESE 319: Fundamentals of Solid-State Circuits
Analysis and design of basic active circuits involving semiconductor devices including diodes, bipolar and field effect transistors.  Single stage, differential, multi-stage, and operational amplifiers will be discussed including their high frequency response.  Oscillators, wave shaping circuits, filters, feedback, stability, and power amplifiers will also be covered.  A weekly three-hour laboratory will illustrate concepts and circuits discussed in the class.

ESE 325: Signals and Systems
The course deals with signals and systems in a broad sense, including finite-state machines, composition, linear time-variant systems, hybrid systems, Fourier representations of periodic signals, continuous-time Fourier transforms, discrete-time Fourier transform, frequency characterization of signals and systems, sampling and reconstruction.

ESE 350: Embedded Systems and Microcontrollers
An introduction to interfacing real-world sensors and actuators to embedded microprocessor systems. Concepts needed for building electronic systems for real-time operation and user interaction, such as digital input/outputs, interrupt service routines, serial communications, and analog-to-digital conversion will be covered. The course will conclude with a final project where student-designed projects are featured in presentations and demonstrations.

ESE 441: Senior Design Project I
First of a two-term sequence in electrical engineering senior design.  Work will focus on feasibility, alternative strategies and determination (experimental or by simulation) of quantities necessary for a detailed design. A final proposal will be submitted, including drawings, circuit diagrams, budget and time schedule for project completion.  Periodic project reviews during the semester.

ESE 442: Senior Design Project II
Second of a two-term sequence in electrical engineering senior design.  Work directed to successful implementation of the proposal.  A final presentation and report will be made of the project.  Periodic project reviews during the semester.

ESE 531: Graduate Digital Signal Processing
This course covers the fundamentals of real-time processing of discrete-time signals and digital systems.  Specific topics covered are: review of signals and linear system representations; convolution and discrete Fourier transforms; Z-transforms; frequency response of lienar discrete-time systems; sampling and analog/digital conversion; finite and infinite impulse response filters; digital filter design; fast Fourier transfers and applications; adaptive filtering algorithms; wavelet transforms.  Projects requiring implementation of specific digital signal processing algorithms will also be assigned.

[Computer Science & Engineering] (top)

CSE 240: Computer Architecture
You know how to program, but do you know how computers really work?  How do millions of transistors come together to form a complete computing system? This bottom-up course begins with transistors and simple computer hardware structures, continues with low-level programming using primative machine instructions, and finishes with an introduction to all aspects of computer systems architecture and serves as the foundation for subsequent computer systems courses.

CSE 260: Mathematical Foundations in Computer Science
What are the basic mathematical concepts and techniques needed in computer science?  This course provides an introduction to Boolean logic, combinatorics, graph theory and probability theory as well as a rigourous grounding in writing and reading mathematical proofs.

CSE 262: Automata, Computability, and Complexity
The course provides an introduction to the theory of computation.  The treatment is mathematical, but the point of view is that of Computer Science. The topics covered include finite automata and regular languages, context-free languages, Turing machines, Church's Thesis, undecidability, reducibility and completeness, time complexity and NP-completeness.

CSE 380: Computer Operating Systems
This course surveys methods and algorithms used in modern operating systems. Concurrent distributed operation is emphasized.  The main topics covered are as follows: process synchronization; interprocess communication; concurrent/distributed programming languages; resource allocation and deadlock; virtual memory; protection and security; distributed operation; distributed data; performance evalaution.

CSE 399-03: Special Topics in CS - UNIX/Linux Skills
This course provides a solid background in the UNIX/Linux environment. We will learn how to use the UNIX shell (both interactively and via scripting), the Emacs editor, important applications such as build tools and revision control systems, user-level package installation, and some of the history of UNIX and the open-source movement with which it is inextricably intertwined. For each topic, we will discuss the basic concepts as well as how to use online resources (man and web pages) to do more advanced things. In addition, we will compare each UNIX/Linux application with the corresponding application (if one exists) on more familiar environments such as Windows.

CSE 399-04: Special Topics in CS - Python Programming
Why Python ? Because it is a fun and extremely easy-to-use interpreted language that has steadily gained in popularity over the last few years in a wide spectrum of applications, ranging from AI to Web Services. It also supports objected-oriented and functional programming. The focus of this course will be programming methodologies rather than language-specific details. Students are expected to have taken an intro-level Java course (e.g., CSE 120 ). Data Structures with Java ( CSE 121 ) is highly recommended but not required. There are also two advanced courses that use Python: CSE 391 (Artificial Intelligence) and CIS 530 (Computational Linguistics)

TCOM 400: Networks and Protocols
This course introduces the principles of computer networks and associated protocols that form the basis of modern telecommunications networks. The course emphasizes basic analytical understanding of the ideas rather than software and specific implementations. Topics covered include store-and forward packet switching, link layer and error control, multiple access and local area networks (Ethernet, token rings, and FDDI), and ATM. Network and transport layer protocols of the Internet TCP/IP suite are studied, including IP routing and forwarding, ICMP, end-to-end reliability, and flow control. Congestion control and its implementation in TCP is discussed. Basic approaches for network security are examined. Specific applications and aspects such as data compression and streaming may also be covered.

[Music] (top)

MUSC 021: History of Western Music
The student will learn to listen analytically to music from the Middle Ages down to the present day.  A range of genres such as plainchant, opera, orchestral music and chamber music will be covered.  The course will aim to teach fundamental skills for listening to music and for talking about music, skills that will help to deepen your appreciation of music in the future.  No prior musical knowledge is required.

MUSC 040: History of the Symphony
A survey of representative symphonies by such composers as Haydn, Mozart, Beethoven, Schubert, Berlioz, Schumann, Brahms, Tchaikowsky, and Mahler. Historical developments will be considered, along with the effects upon symphonic literature of such major sociological changes as the emergence of the public concert hall. But the emphasis will be on the music itself--particularly on the ways we can sharpen our abilities to engage and comprehend the composers' musical rhetoric.

MUSC 070: Theory & Musicianship I
In introduction to the basic notational and theoretical materials of music, complemented by work in ear-training and sight-singing. Topics covered include the notation of time and pitch, scales, intervals, chords, progressions, melodic and formal construction, and key change.

MUSC 071: Theory & Musicianship II
Intermediate tonal harmony and musicianship
.

MUSC 090: Psychology of Music
This course brings together two seemingly very different subjects, the art of music and the science of psychology.  Parallel theories, empirical evidence, and demonstrations of how fundamental psychological processes are used in the music repertory will explore common convergences between the two fields. Major subjects covered include psychophysics; perception and cognition of melody, rhythm, harmony, and timbre; musical structures; learning, memory, tonality, and musical style; development; emotion, affect, and aesthetics; performance, social psychology; neural processing; and the biological origins of music.

MUSC 170: Theory & Musicianship III
Advanced tonal harmony and musicianship.

MUSC 171: Theory & Musicianship IV
Counterpoint I and advanced musicianship.

MUSC 271: Eighteenth Century Counterpoint
18th-Century techniques.  Analysis of the principal styles of 18-century music in the style of Bach.  Frequent composing assignments in the style of chorales, canon, inventions, sinfonia, and fugues.

MUSC 370: Honors in Music Theory
Advanced study in selected topics in music theory. This class will survey some of the connections between music and art that have been linked throughout history. The geometric scaling of musical tones and color relations in psychological experiments offe tantalizing clues why this may be so. In music from the eighteenth nineteenth centuries we will concentrate on analyses of tonal melod In art we will analyze the use of color in abstract and minimalist paintings.

[Electives] (top)

ECON 001: Introduction to Microeconomics
Introduction to economic analysis and its application. Theory of supply and demand, costs and revenues of the firm under perfect competition, monopoly and oligopoly, pricing of factors of production, income distribution, and theory of international trade. Econ 1 deals primarily with microeconomics.

PSYC 001: Introduction to Experimental Psychology
Introduction to the basic topics of psychology, including learning, motivation, cognition, development, abnormal, physiological, social, and personality.

PSYC 009: The Science and Neurobiology of Emotion
Critical writing seminar in psychology. Why do we feel the way do? This course explores the scientific theories behind what causes emotions in the brain. Students will read a number of books and science papers, discuss their ideas in class, and write a series of papers aimed to improve their writing skills.

SAST 430: Colloquial Bengali I
This course introduces students to colloquial Bengali.  It gives equal emphasis to each of the four skills, reading, writing, listening, and speaking.  Language will be studied in the context of socio-cultural aspects of West Bengal and Bangladesh.  Besides lessons from the text, a major portion of the syllabus will be based on topics drawn from films, cultural events, festivals, food, and religion.

SAST 431: Colloquial Bengali II
This course is the second half of a two-semester course, placing greater emphasis on spoken dialogue and interacting within the culture. Frequent writing assignments, role-play, and weekly dictations.

Last updated: 12/10/2010 9:04 PM
Copyright 2004-2010 Rafi Hasib