User Tools

Site Tools


resources

Resources

  • See Textbooks at this site for the required text, and recommended texts for this course.
  • This course uses the mathematical logic you learned in MATH1090 and your discrete mathematics courses. You may want to review your notes from those courses. See more below.
  • SEL-VM. This is the SEL VM that has TLA, PVS, Rodin, Eiffel, etc. It is somewhat challenging to install PVS on your Laptop, with all the bug fixes and NASA software. We therefore advise that you use the SEL-VM.
  • Latex (login with your EECS account).

In your .cshrc you will need the following:

source /cs/local/packages/texlive/cshrc.texlive
setenv PVS_LIBRARY_PATH "/cse/local/pkg/pvs/nasalib"

The first item is for LaTeX using Texlive: invoke texlive-setup from the command line and it will be appended to your .cshrc file.

The second for PVS (especially proveit and the NASA libraries) should be there already via: /cs/local/share/cshrc.common

Git and Github

If you developing software artefacts, it is important to learn Git. Learning Git and GitHub is important because almost all companies that can hire you will use Git and GitHub (or like tools). Therefore, learning how to work with Git and GitHub make you more hirable and help you differentiate yourself from more junior developers. What makes senior developers senior is not that they know the syntax of a given language better, but that they have experience working with large and complex projects with real users and business goals.

In this course, you have the option of working in teams. So acquire an educational Github account that allows for unlimited PRIVATE repositories. Your group work must be in PRIVATE repositories for academic integrity. Making your work in this course public is a violation of academic integrity. One way that we can check that group work is done by both members of the team is by looking at the commit history.

  • Rule 1: Create a Git repository for every new project
  • Rule #2: Create a new branch for every new feature
  • Rule #3: Use Pull Requests to merge code to Master

Github Educational Accounts

Educational Accounts have unlimited private repositories (required for academic integrity)

Logic and Discrete Mathematics

<hi>This course will use mathematics for specifying hardware and software systems.</hi>

In case you need to review, Specifying Systems TLA+ Book by Leslie Lamport, has an introductory section on predicate logic and set theory. See TLA. You may want to review your texts from MATH1090 and MTAH1019. The SVN has a folder Logic with a list of theorems for predicate logic and set theory as well as document showing some proofs (equational and sequent calculus). This should help with your review of predicate logic and set theory.

A gentle introduction to logic and discrete mathematics (if MATH1090 did not quite engage you) is Introduction to Mathematical Thinking Paperback, by Keith Devlin, 2012 (102 pages and cost is under $10). It is also a free course at coursera.

Keith Devlin is at Stanford university. The blurb for his text is:

In the twenty-first century, everyone can benefit from being able to think mathematically. This is not the same as “doing math.” The latter usually involves the application of formulas, procedures, and symbolic manipulations; mathematical thinking is a powerful way of thinking about things in the world – logically, analytically, quantitatively, and with precision. It is not a natural way of thinking, but it can be learned.

Mathematicians, scientists, and engineers need to “do math,” and it takes many years of college-level education to learn all that is required. Mathematical thinking is valuable to everyone, and can be mastered in about six weeks by anyone who has completed high school mathematics. Mathematical thinking does not have to be about mathematics at all, but parts of mathematics provide the ideal target domain to learn how to think that way, and that is the approach taken by this short but valuable book.

The book is written primarily for first and second year students of science, technology, engineering, and mathematics (STEM) at colleges and universities, and for high school students intending to study a STEM subject at university. Many students encounter difficulty going from high school math to college-level mathematics. Even if they did well at math in school, most are knocked off course for a while by the shift in emphasis, from the K-12 focus on mastering procedures to the “mathematical thinking” characteristic of much university mathematics. Though the majority survive the transition, many do not.

To help them make the shift, colleges and universities often have a “transition course.” This book could serve as a textbook or a supplementary source for such a course. Because of the widespread applicability of mathematical thinking, however, the book has been kept short and written in an engaging style, to make it accessible to anyone who seeks to extend and improve their analytic thinking skills. Going beyond a basic grasp of analytic thinking that everyone can benefit from, the STEM student who truly masters mathematical thinking will find that college-level mathematics goes from being confusing, frustrating, and at times seemingly impossible, to making sense and being hard but doable.

Dr. Keith Devlin is a professional mathematician at Stanford University and the author of 31 previous books and over 80 research papers. His books have earned him many awards, including the Pythagoras Prize, the Carl Sagan Award, and the Joint Policy Board for Mathematics Communications Award. He is known to millions of NPR listeners as “the Math Guy” on Weekend Edition with Scott Simon. He writes a popular monthly blog “Devlin’s Angle” for the Mathematical Association of America, another blog under the name “profkeithdevlin”, and also blogs

resources.txt · Last modified: 2018/10/31 22:35 by jonathan