User Tools

Site Tools


resources

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
resources [2018/08/21 01:09] jonathanresources [2018/10/31 22:35] (current) jonathan
Line 7: Line 7:
  
   * 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.   * 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.
 +
   * [[http://tla.eecs.yorku.ca| TLA+ Resources]]   * [[http://tla.eecs.yorku.ca| TLA+ Resources]]
   * [[http://pvs.eecs.yorku.ca|PVS Resources]]   * [[http://pvs.eecs.yorku.ca|PVS Resources]]
 +  * [[http://seldoc.eecs.yorku.ca/doku.php/eiffel/virtualbox/start|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. 
 +  * [[https://wiki.eecs.yorku.ca/project/sel-students/p:tutorials:latex:start|Latex]] (login with your EECS account).
 +
 +In your .cshrc you will need the following:
 +
 +<code>
 +source /cs/local/packages/texlive/cshrc.texlive
 +setenv PVS_LIBRARY_PATH "/cse/local/pkg/pvs/nasalib"
 +</code>
 +
 +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 ===== ===== Git and Github =====
Line 14: Line 28:
 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. 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 [[https://education.github.com|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. +In this course, you have the option of working in teams. So acquire an [[https://education.github.com|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) 
 + 
 +  * [[https://www.youtube.com/playlist?list=PL5dxAmCmjv_58KxTSd1CRbpinmSF8EPJx| Applying for an Educational Account]] and other tutorial videos 
 +  * [[https://product.hubspot.com/blog/git-and-github-tutorial-for-beginners|Github Tutorial for beginners]]
  
 ===== Logic and Discrete Mathematics ===== ===== 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 [[http://tla.eecs.yorku.ca|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 [[https://www.amazon.ca/Introduction-Mathematical-Thinking-Keith-Devlin/dp/0615653634|Introduction to Mathematical Thinking Paperback, by Keith Devlin, 2012]] (102 pages and cost is under $10). It is also a free course at [[https://www.coursera.org|coursera]].  A gentle introduction to logic and discrete mathematics (if MATH1090 did not quite engage you) is [[https://www.amazon.ca/Introduction-Mathematical-Thinking-Keith-Devlin/dp/0615653634|Introduction to Mathematical Thinking Paperback, by Keith Devlin, 2012]] (102 pages and cost is under $10). It is also a free course at [[https://www.coursera.org|coursera]]. 
resources.1534813751.txt.gz · Last modified: 2018/08/21 01:09 by jonathan