A Brief Introduction to Engineering Computation with MATLAB is specifically designed for students with no programming experience. However, students are expected to be proficient in First Year Mathematics and Sciences and access to good reference books are highly recommended. Students are assumed to have a working knowledge of the Mac OS X or Microsoft Windows operating systems. The strategic goal of the course and book is to provide learners with an appreciation for the role computation plays in solving engineering problems. MATLAB specific skills that students are expected to be proficient at are: write scripts to solve engineering problems including interpolation, numerical integration and regression analysis, plot graphs to visualize, analyze and present numerical data, and publish reports.
Mathematics & Computer Science
Lecture notes for a data-structures course in computer science with examples in Java. Students in this course should have already taken an intro-programming course in an object-oriented language and have a basic grasp of Java. These are not designed to accompany any specific textbook.
Welcome to abstract algebra, perhaps the pinnacle of your undergraduate mathematical career. To begin our transformative journey, we start by asking a simple question. How can we move a square?
MATLAB, short for Matrix Laboratory, is a simple and flexible programming environment for a wide range of problems such as signal processing, optimization, linear programming and so on. The basic MATLAB software package can be extended by using add-on toolboxes. Examples of such toolboxes are: Signal Processing, Filter Design, Statistics and Symbolic Math.
Comprehensive documentation for MATLAB is available at Mathworks.com. In particular, an excellent (extensive) getting started guide is available at Getting started with MATLAB. There is also a very active newsgroup for MATLAB related questions, comp.soft-sys.matlab
MATLAB is an interpreted language. This implies that the source code is not compiled but interpreted on the fly. This is both an advantage and a disadvantage. MATLAB allows for easy numerical calculation and visualization of the results without the need for advanced and time consuming programming. The disadvantage is that it can be slow, especially when bad programming practices are applied.
Lecture notes for an introductory programming course in Python (version 3.x). There are many example problems suitable for "flipped" classes. This follows the order of Allen Downey's Think Python text. Some sections are skipped, but the basics are included through inheritance and polymorphism. No prior programming experience is expected.
Most books that use MATLAB are aimed at readers who know how to program. This book is for people who have never programmed before. As a result, the order of presentation is unusual. The book starts with scalar values and works up to vectors and matrices very gradually. This approach is good for beginning programmers, because it is hard to understand composite objects until you understand basic programming semantics.
Lecture notes for an upper-level undergraduate software engineering course, with a strong focus on software design. Students taking this course should have already completed a data structures course. These notes are designed to be used with Dale Skrien’s text Object Oriented Design using Java.
Lecture notes for an undergraduate Theory of Computation course. These notes assume some back-ground in discrete math or set theory. The notes deviate from the normal topic order by covering all the machines first, then properties of the language classes, and finally non-inclusion into those classes. Many sections of the notes have yet to be completed.
This text is intended to serve as an IBL style workbook to be used in an undergraduate introductory proof writing course. It covers direct, contrapositive, contradiction, biconditional, existence, uniqueness, induction, and set equality proofs while also covering fundamental topics from number theory, elementary real analysis, functions, and sets with infinite cardinality. It is assumed that the audience has attained a degree of mathematical maturity and has had some exposure to sets and logic, but knowledge of calculus or linear algebra is not required.