====== What's New? ====== ===== Jan 02, 2008 ===== This page is now live. Welcome to CSE 3311! Keep up to date by reading and particpating in the [[http://forum.cse.yorku.ca/viewforum.php?f=35|Forum]]. ===== Jan 09, 2008 ===== Lab practice: Get the ''geneology.zip'' file from the [[notes:|Code]] directory with an incomplete project for the population registry example. Unzip it and it should compile. Read ''Population registry.pdf'' for Requirements, Design and Implementation details. Complete the project and all the suggested exercises. Make sure you learn about contracts, unit tests and the debugger, and documentation. ===== Jan 15, 2008 ===== Assignment 1 is now posted. Due date is February 4th at 3pm. Please read chapter 26 ("A sense of style") in OOSC2 carefully. The layout of your code must be in the recommended manner, you must choose names carefully using the Eiffel style guidelines (e.g. //put_force// not //putForce//), use upper case for classes and lower case for feature names, and document carefully including short comments for each feature and indexing clauses. ===== Jan 15, 2008 ===== A TA will be at the Teaching Lab (CSEB 1004) at the following times to answer any questions about installing and using the tools for this course: * Thursday, January 17 1-2 * Monday, January 21 1-2 ===== Jan 24, 2008 ===== In assignment 1 page 7 it stated: "Part V: Explain why test3 in class TEST_MONEY is a violation test case (i.e. ex-plain where the expected exception occurs)." Ignore this question and delete test3 from the test suite. ===== Jan 30, 2008 ===== Each group will have to meet with a TA at some point next week (Feb 4 - Feb 7) as part of the evaluation of Assignment 1. Go to the Assignment 1 page to signup for a timeslot. ===== Feb 5, 2008 ===== Assignment 2 is now available. ===== Feb 8, 2008 ===== Please see the clarifications to assignment 2. ===== Feb 18, 2008 ===== The test for section Z will be on Wed. Feb 20th in CB 121. All material covered up to reading week is included (including all material covered in class, the slides, assignment 1 and 2, and the readings). It is a closed book test, but you may bring into the test with you a single US letter size data sheet (both sides). There will be office hours in the SEL (CSE2056) on Tuesday Feb. 19th, from 12 noon to 1.30pm. ===== Feb 19, 2008 ===== From now on, office hours for Prof. Ostroff are Mon. & Wed. 12 noon to 1pm. Please print out assignment 2 as there were some clarifications (see Forum). ===== Feb 26, 2008 ===== Assignment 1 grades released via ePost. Feedback sheets will be handed back in class next week. ===== Feb 27, 2008 ===== Assignment 3 is now posted under Notes. ===== March 03, 2008 ===== Please signup for a slot with TAs under Assignment 2. ===== March 04, 2008 ===== **Revaluation of assignments and tests**. Please attach a page to your assignment or test describing your concerns and hand it to the instructor after class. The instructor will (together with the TAs) reevaluate your work and make any changes. The whole assignment or test may be reevaluated. Please provide the instructor with your written comments within one week of receiving your assignment or test back. ===== March 05, 2008 ===== **Section Z**: Test marks are now available. Your real result for the test is the **letter grade** (see cuttoffs in the ePost file) not the raw mark score out of 100 which is just used for ranking students in the class. If you want either the test or assignment 1 re-evaluated, please see the March 4th notice above, and return your test or asignment 1 to the instructor with your written concerns by the end of class on **Wednesday March 12th, 2008**. After that date, these items will no longer be re-evaluated. ===== March 14, 2008 ===== The zip file **mml_graph_and_map_examples.zip** in the Code directory contains an update to the MML library. The library now has class MML_GRAPH that also has queries to assert whether the graph is a tree. Mathematically, a graph G = [N, E] where N is a set of nodes and E is just a binary relation on the set of nodes. In Eiffel, we would write //graph//: MML_PAIR[MML_SET[G], MML_REL[G,G]]. A relation G<->G is called an endorelation. You will also find a MAP class with object and reference comparisons contracted in this new version of MML. You may use this MML cluster in Assignment 3 if you choose. ===== March 19, 2008 ===== Assignment 4 is now posted under Notes. ===== March 25, 2008 ===== Grades for assignment 2 are now available under ePost ===== April 3, 2008 ===== Grades for assign 3 were posted yesterday. For both sections, assignments can be picked up from outside the SEL (cseb2056) on Monday April 7th, noon to 5pm. The instructor for section Z will be available for office hours on Thursday April 10th from 4-6pm. ===== April 8, 2008 ===== The exam is closed book. A single data sheet (US letter size) will be allowed, but nothing else. Everything covered in class, in the slides, the test, the assignments and the readings in the text (OOSC2) is required for the exam. Software development is a process of eliciting **Requirements**, coming up with a **Design** and then **Implementation** of the design in code. The focus of this course is Design. In Design we need to make the following design decisions: * what modules (classes) do we need to satisfy the Requirements; * the API (features and their signatures for each module); * how the modules (classes) are organized and relate to each other (e.g. via client-supplier and inheritance relations. Contracts, scenario & unit tests and BON static and dynamic diagrams are all important tools for describing the Design. **Contracts** and tests are specifications that allow us to assess the correctness of the implementation, i.e. the code that implements a software component. Both classical contracts and **MML** contracts are important tools. Without these tools we would have no way of knowing if our implementations are correct (i.e. satisfy their specifications). **Design Patterns**. Another vital component of understaning Design is understanding some of the important design patterns. Good software developers have struggled with the same design problem that you may face -- and they have already solved something like your problem. Knowing these road-tested patterns allows you take advantage of best practices and to communicate aspects of your design to others. BON static and dynamic diagrams and contracts are useful for describing design patterns. ===== April 28, 2008 ===== All grades for the course are now posted through ePost. You can pick up Assignment 4 from CSEB 2056 at 12-5 on Thursday, May 1.