
Office Phone: (215) 746- 4223
Office: 572 Levine
Penn Email: dietzd edu @ seas upenn (unscramble it!)
Office Hours: differs by course, see your Syllabi (or by appointment)
CIT 590 - Introduction to fundamental concepts of programming and computer science. Principles of modern object-oriented programming languages: abstraction, types, polymorphism, encapsulation, and inheritance. Basic algorithmic techniques and informal complexity analysis. Substantial programming assignments in Java.
CIT 592 - MATHEMATICAL FOUNDATIONS OF COMPUTER SCIENCE - Foundations: Sets, Functions, Summations, and Sequences. Introduction to algorithms. Counting techniques: The pigeonhole principle, permutations and combinations. Discrete probability. Selected topics from Number theory and/or Graph Theory.
CIT 596 - THEORY OF COMPUTATION - Prerequisite: CIT 592 or equivalent. Relations. Finite automata, regular languages, regular grammars, and applications. Pushdown automata, trees, context-free grammars, and applications. Turing machines. Introduction to computability and complexity theory.
EAS 105 - Introduction to Scientific Computing. This course will provide an introduction to computation and data analysis using MATLAB - an industry standard programming and visualization environment. The course will cover the fundamentals of computing including: variables, functions, flow control, iteration and recursion. These concepts will be illustrated through examples and assignments which show how computing is applied to various scientific and engineering problems. Examples will be drawn from the simulation of physical and chemical systems, the analysis of experimental data, Monte Carlo numerical experiments, image and audio processing, and control of sensors and actuators. This course does not assume any prior programming experience but will make use of basic concepts from calculus and Newtonian physics.
EAS 205 - Applications of Scientific Computing.- Prerequisite(s): Prior exposure to computing via courses such as EAS 105, CIS 110, or ESE 112. Math 114, Sophomore standing. This course will discuss a number of canonical problems and show how numerical methods are used to solve them. Lectures will introduce the underlying theory and the relevant numerical methods. Students will be expected to implement solutions to the problems using MATLAB. The course will use the visualization capabilities of MATLAB to provide students with a geometric interpretation of the key ideas underlying the numerical methods.
Spring of 2011 syllabus for CIT 590 . The course has similar goals to the CIT 590 and CIT 591 courses which have been taught by Dr. David Matuszek.
If I do not post a new syllabus for a course I am scheduled to teach, this means that the old syllabus is sufficient for determining course content. If I am planning to make major changes to the syllabus' content, that will be noted here.
My students should login to Blackboard or Canvas for course materials.