DSpace Repository

Interactive Notebooks on Software Design

Show simple item record

dc.contributor.author Sekerinski, Emil
dc.contributor.other Guo, Bin
dc.contributor.other Nagy, Jason
dc.date.accessioned 2022-06-28T20:09:09Z
dc.date.available 2022-06-28T20:09:09Z
dc.date.issued 2022
dc.identifier 5772cd52-86a4-4794-977c-13a2257a6e6d
dc.identifier.uri https://openlibrary-repo.ecampusontario.ca/jspui/handle/123456789/1512
dc.description.sponsorship This project is made possible with funding by the Government of Ontario and through eCampusOntario’s support of the Virtual Learning Strategy. en_US
dc.description.tableofcontents 0. Concurrent System Design en_US
dc.description.tableofcontents 1. Sequential Programming en_US
dc.description.tableofcontents 2. Concurrency and Synchronization en_US
dc.description.tableofcontents 3. Semaphores en_US
dc.description.tableofcontents 4. Classes en_US
dc.description.tableofcontents 5. Monitors en_US
dc.description.tableofcontents 6. Message Passing en_US
dc.description.tableofcontents 7. Remote Procedure Calls en_US
dc.language.iso eng en_US
dc.publisher Department of Computing and Software, McMaster University en_US
dc.relation.isformatof https://github.com/emilsekerinski/softwaredesign en_US
dc.relation.haspart Resource for Educators: Programming Problems with Solutions | mailto:emil@mcmaster.ca en_US
dc.rights CC BY-NC-ND | https://creativecommons.org/licenses/by-nc-nd/4.0/ en_US
dc.subject Jupyter notebook en_US
dc.title Interactive Notebooks on Software Design en_US
dc.type Learning Object en_US
dcterms.accessRights Open Access en_US
dcterms.accessRights Open Access
dcterms.educationLevel University - Undergraduate en_US
dcterms.educationLevel University - Graduate & Post-Graduate en_US
dc.identifier.slug https://openlibrary.ecampusontario.ca/catalogue/item/?id=5772cd52-86a4-4794-977c-13a2257a6e6d
ecO-OER.Adopted No en_US
ecO-OER.AncillaryMaterial Yes en_US
ecO-OER.Reviewed No en_US
ecO-OER.AccessibilityStatement Unknown en_US
lrmi.learningResourceType Instructional Object - Lecture Material en_US
lrmi.learningResourceType Interactive Activity - Participatory Learning en_US
lrmi.learningResourceType Assessment - Self-Assessment/Practice en_US
lrmi.learningResourceType Learning Resource - Textbook en_US
ecO-OER.POD.compatible No en_US
dc.description.abstract This is a collection of interactive Jupyter notebooks for teaching software design and, more specifically, concurrent system design on an upper undergraduate level. en_US
dc.description.abstract (1) Notebooks combine the functionality of a textbook, a programming environment, and slides, thus simplifying the learning experience and allowing students to focus on the essentials. The notebook format allows for more independent study and proves to be suitable for blended learning. en_US
dc.description.abstract (2) The notebooks use an algorithmic notation for explaining concepts and use Python, Java, and Go for programming. en_US
dc.description.abstract (3) Program correctness, particularly the notions of loop and class invariants, are introduced alongside the algorithmic notation. State diagrams visualize the correctness conditions, including those for concurrent programs. en_US
dc.description.abstract (4) An accompanying set of exercise notebooks with programming problems in Python, Java, and Go comes with solutions that can be used as practice material and for semi-automatic grading using the notebook grader extension of Jupyter. The exercises are not part of the public repository but are available on request from the author. en_US
dc.description.abstract For viewing the notebooks, Jupyter and additional tools need to be installed according to the instructions at https://github.com/emilsekerinski/softwaredesign. The notebooks can also be viewed with JupyterLab. For administering student submissions and for semi-automatic grading, a JupyterHub server is needed. The notebooks can be previewed in HTML form with limitations only. en_US
dc.subject.other Technology - Computer Science en_US
dc.subject.other Technology - Programming & Programs en_US
ecO-OER.VLS.projectID MCMA-990 en_US
ecO-OER.VLS.Category Digital Content - Create a New Open Educational Resource (OER) en_US
ecO-OER.VLS Yes en_US
ecO-OER.CVLP No en_US
ecO-OER.ItemType Learning Resource en_US
ecO-OER.MediaFormat Other en_US
ecO-OER.VLS.cvlpSupported No en_US


Files in this item

This item appears in the following Collection(s)

Show simple item record

Search DSpace


Advanced Search

Browse

My Account