Git Product home page Git Product logo

se-book's Introduction

SE-EDU

SE-EDU (se-education.org) is a collection of FOSS resources for Software Engineering (SE) educators and students. The full website is available at https://se-education.org

se-book's People

Contributors

chrisgzf avatar damithc avatar gisonrg avatar goweiwen avatar ianyong avatar jamessspanggg avatar jamos-tay avatar jeffreytjs avatar jingyenloh avatar lockarhythm avatar marvinchin avatar okkhoy avatar rebekahlow-jy avatar swampertx avatar tejas2805 avatar waynetee avatar wltan avatar yamgent avatar zhaojj2209 avatar zhiyuan-amos avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

se-book's Issues

Dead link in full printable textbook

In the full printable textbook, the java does not link to any of the sections. Perhaps it should link to the c++ to java content instead? If that is the case, the c++ to java chapter should be under supplementary.

Also, should the Principles chapter be under a Principles to match with the siteNav as shown on the left?

Screen Shot 2020-04-10 at 8 28 59 PM

Minor typo in textbook: Overridden methods have same return type

**Method _overriding_ is when a sub-class changes the behavior inherited from the parent class** by re-implementing the method. Overridden methods have the same name, same type signature, and same return type.

Method overriding is when a sub-class changes the behavior inherited from the parent class by re-implementing the method. Overridden methods have the same name, same type signature, and same return type.

Actually, Java supports covariant return type. https://stackoverflow.com/a/14694885 (since Java 5, as pointed out in the answer)

Typo: substititution

Should be: Can explain Liskov Substitution Principle (also note the capitalization)

Questions: Remove duplication from answers

The answer can contain just the a, b, c etc. like so:

<panel header=":lock::key: What are the advantages of using use cases (the textual form) for requirements modelling?">
<question>

What are the advantages of using use cases (the textual form) for requirements modelling?

- [ ] a. They can be fairly detailed but still natural enough for users for users to understand and give feedback.
- [ ] b. The UI-independent nature of use case specification allows the system designers more freedom to decide how a functionality is provided to a user.
- [ ] c. Extensions encourage us to consider all situations a software product might face during its operations.
- [ ] d. They encourage us to identify and optimize the typical scenario of usage over exceptional usage scenarios.
- [ ] e. All of the above.
- [ ] f. First three only.

<div slot="answer">

e

</div>
</question>
</panel>

Sort site.json

Let's sort sit.json in alphabetical order. Otherwise it's hard to find things.

Minor inconsistency in section header: `Guideline: Maximise readability`

While working on #97, I realised that the section header Guideline: Maximise readability under Implementation > Code quality does not adhere to the American English spelling of maximize. This is inconsistent with the rest of the textbook which uses the American English spelling of words.

Link to the relevant section in the CS2103T AY20/21 S1 textbook.

Not making this change in #97 because I am unsure of whether it will break all of the relative links to this section in the repo, as well as the module-specific textbooks. If this change is too much effort, feel free to close this issue.

Broken YouTube link

In specifyingRequirements/userStories/usage/tools.md, the video on GitHub Project Boards is no longer available on YouTube.

Side navigation bar closing at 'usage' page

The side navigation bar closes when pressing "How to use this book".
The expected behavior would be for the side bar to remain open, with the current topic highlighted.

Expected Behavior:
SEBookExpectedBehaviorGif

Current Behavior:
SEBookGif

Removing the popover elements within the page solves the problem temporarily.

Corrections to do

The panel should contain OOP: Inheritance: Basic not the entire OOP: Inheritance
image

Conditional "OR" operator formatting is broken on the CS2113 website under the cppToJava section

I noticed that the format of the conditional operator is broken on the CS2113 website (https://nus-cs2113-ay2223s2.github.io/website/se-book-adapted/chapters/cppToJava.html#operators).

Screenshot 2023-05-01 at 12 56 10 PM

`||` | or | `true || false` %%{{ icon_output_right }}%% `true` | `false || false` %%{{ icon_output_right }}%% `false`

I suspect that the | character is being read as a table. We could follow the suggestion from https://stackoverflow.com/questions/17319940/how-to-escape-a-pipe-char-in-a-code-statement-in-a-markdown-table to rectify it.

Suggested Fix

<code>&vert;&vert;</code> | or | <code>true &vert;&vert; false</code> %%{{ icon_output_right }}%% `true` | <code>false &vert;&vert; false</code>  %%{{ icon_output_right }}%% `false`

Contribution guideline?

Hi Prof, noted your reply on adding exercises and will not be doing it then.


As there are limited issues listed in this repo, I am wondering if there are potential tasks/content that could be done to supplement this textbook further?
Besides the two issues I saw ( #48 microservices architecture and #47 serverless architecture) which I lacked the ability to include,
I am wondering if it is welcomed to add the following content:

  • I thought it might be useful to add in functional programming as part of the textbook, in the same fashion as OOP?
  • Perhaps a bit more elaboration on the topic of refactoring (currently the content is quite brief), such as explaining terms like code smell from the refactoring book by Martin Fowler.

Just some thoughts that I hope will be helpful for students taking 2103T in the future iterations. Please forgive me for intruding and close this issue if it is not in line with the goals of this book.

No sentence case in def and LO

The List of definitions, Learning outcomes and Home pages don't follow sentence case. Do we need to make them follow sentence case too?

javafx basics: tweak tutorial

tools/java/javaFXBasics:

part 1: adjust image sizes (some are too big)
part 2 (still in basic markdown format): adjust similar to part 1 using markbind syntax

Empty pageNavs for some pages

There were several pages where the pageNav is empty. Let's add the corresponding pageNavs so that users can easily navigate through the pages.

Screen Shot 2020-04-05 at 11 54 43 AM

Add review questions

I have done one:
image

To do:

  • Update other main pages to include the modeling/review section I added e.g. site.json, main list of outcomes, etc.
  • Add more such review questions. Follow my comments in the Google Doc that contains all the questions

Design issue in association class section

Hi there! I was looking through your online book, and I wanted to point out that there's a design issue in the section on inheritance. From the text:

However, the two classes cannot be simply replaced with a more general class Person because of the need to distinguish between Man and Woman for the ‘marriage’ association. A solution is to add the Person class as a super class and let Man and Woman inherit from Person.

Given that same-sex marriage is legal in most of the developed world, distinguishing between Man and Woman in the class Marriage makes the implementation fragile to changes in requirements. A more robust solution is to use the type Person.

This is actually a really good example of how untested assumptions that we as software engineers make can come back to haunt us later. This could be a good object lesson on the need for requirements analysis.

Deprecated attribute "title"

The attribute "title" used for popovers and modals is deprecated. It may not be used in the future. Better to replace "title" with "header"

full.md: missing prereq

Some of the full.md files are missing the <include src="prereq.md"/><p/> at top.

Also, some of them have
%%**<include src="../../path.md" inline />**%% instead of
%%**<include src="../path.md" inline />**%% (path should come from parent folder, not grand parent folder)

<include src="prereq.md"/><p/>

%%**<include src="../path.md" inline />**%%

<include src="text.md#title" />

<div id="main">

<include src="text.md#body" />
<include src="text.md#extras" />

</div>

documentation/guidelines/index.md: Typo

Typo in <include src="./aimforComprehensibility/topicPanel.md" />

Should be <include src="./aimForComprehensibility/topicPanel.md" />

Change lowercase f to uppercase F.

Netlify preview deploys wrong site

The Netlify preview deploys the wrong link as a result of which all previews have failed.

Screen Shot 2020-02-08 at 5 57 41 AM

Let's update the link so that preview work as intended.

Search functionality not working

Expect

Able to search content via the search box on the top right corner

Actual

On typing and pressing Enter, nothing happens. As seen from the console:
image
image
There seems to be a problem with initializing Algolia.


btw prof: is this book still accepting contributions? If yes I am interested to take on some issues and add exercises/content to it over the summer;)

Typos

Hello, I spotted some typos and have linked the relevant code

In W1.1e exercise, checqueJohnGave should be chequeJohnGave

In W1.3d the subclass should provides implementations should be the subclass should provide implementations

In W1.3h, calcuateGrade should be calculateGrade

In Week 3 Project A-Jar, In the page where you fill the details of th release should be In the page where you fill the details of the release

In W4.5a allows writing a methods should be allows writing a method

In W5.3e Step 4: List the user stories to supports the scenarios: should be Step 4: List the user stories to support the scenarios:

In UML minimal notation diagram get minefiled info should be get minefield info

In W7.2n designing a variations should be either designing a variation or designing variations

In W7.5C on the website (stubs) does not show tooltip when hovering over the text. Relevant code found here

In W7.7c Centralized RCS (CRCS for short)uses should be Centralized RCS (CRCS for short) uses (missing whitespace)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.