Answers.Body: <p>We have added a course at Colorado State University called &quot;Software Construction&quot;. It is typically taken by second year students after two semesters of courses taught using Java (intro and data structures). It is a prequel to the &quot;software Engineering&quot; course. Both feature semester long projects of different complexities. The difference is that the first course, all assignments are individual. In the second course, all assignments are done by a group.</p>
  <p>We have chosen to use two books &quot;Clean Code&quot; and &quot;Clean Architecture&quot;, both by Robert C Martin, for these courses. We feel that they give a excellent overview of topics we wish to cover. Unfortunately, the books don't contain complete projects.</p>
  <p>For a semester long project, we have adapted project ideas from other courses, simplifying structure, and providing some chunks of functionality. We assume a certain level of programming capability for students enrolled in the course.</p>
  <p>You might also look at the book &quot;Polymorphism: As It Is Played&quot; by Joseph Bergin. It really details test driven development in the context of writing a calculator program. This would make a nice project having students complete the code, or implement a RPN calculator.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2024-02-21T19:05:17.253Z
Answers.Text: That's a fantastic set of books.
Answers.UserDisplayName: Ben I.
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2024-02-20T18:28:06.723Z
Answers.LastActivityDate: 2024-02-21T21:57:05.047Z
Answers.LastEditDate: 2024-02-21T21:57:05.047Z
Answers.UserDisplayName: Fritz Sieker
Answers.Body: <p>The book to learn UML concepts sis by side with software engineering:</p>
  <p><a href="https://www.google.co.in/books/edition/The_Elements_of_UML_TM_2_0_Style/s1sIlw83-pQC?hl=en&amp;gbpv=1" rel="nofollow noreferrer">Ambler, S. W. (2005). The Elements of UML 2.0 Style. United Kingdom: Cambridge University Press.</a></p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-01-27T06:05:02.100Z
Answers.Text: Thanks! I will also check it out. Do you happen to know any new reference book within 10 years ?
Answers.UserDisplayName: Nerdy Girl
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-01-28T13:09:53.017Z
Answers.Text: @NerdyGirl, as a practising programmer, I would not recommend a textbook on UML, unless it's as a prelude to burning them on a bonfire. As Ambler says in the book introduction, "a lot of the communicative value in a UML diagram, is still due to the layout skill of the modeller". I would be even more emphatic, and say that *all* the communicative value of diagrams arise from their non-systematic aspects and the skill of the diagrammer, which is rather contrary to the basic tenet of UML.
Answers.UserDisplayName: Steve
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-06-28T05:21:53.567Z
Answers.Text: Regarding UML, you may refer to this discussion https://cseducators.stackexchange.com/questions/6862/how-necessary-is-uml-for-a-course-in-object-programming-patterns
Answers.UserDisplayName: Qiulang 邱朗
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-01-24T15:20:40.947Z
Answers.LastActivityDate: 2023-01-24T15:20:40.947Z
Answers.UserDisplayName: Manoov
Body: <p>I am looking for a good textbook to teach freshman (or some sophomores) introductory to software engineering.
  Specially, need that the textbook has example labs/projects for the whole semester included in instructor resources. There are many good software engineering books but they do not have labs/project examples.
  Since these students might not have adequate programming ability yet, I plan to focus on more abstract level assignments and do not expect them to code the projects.
  The main purpose is to teach them how a software product could be developed and designed.</p>
  <p>So could anyone suggest a textbook of introductory software engineering that has abstract level level labs/projects ?<br />
  Labs/projects at abstract level using UML could be an option but hopefully, it cover only basic UML ideas/concepts since students might not have enough OOP concepts yet.
  If so, could anyone also suggest simple UML reference books ? Thanks</p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-10-29T13:16:49.417Z
Comments.Text: I don't have an answer, but I second the question!
Comments.UserDisplayName: Ben I.
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-10-31T16:05:38.093Z
Comments.Text: Look up Dijkstra's [Cruelty of teaching CS](https://www.cs.utexas.edu/users/EWD/transcriptions/EWD10xx/EWD1036.html) (search for "engineering"). ⚠ not a hope giving article. But describes the problem accurately.
Comments.UserDisplayName: Rushi
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-11-07T16:05:44.717Z
Comments.Text: Regarding "simple UML references books" in the context of Software Engineering, how about books about business modeling with UML like [Business Modeling with UML: Business Patterns at Work](https://books.google.com.mx/books?id=afc6MwAACAAJ)
Comments.UserDisplayName: Rubén
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2023-01-27T06:03:44.080Z
Comments.Text: Thanks! I will check it out. But I am wondering if there is any new reference book within 10 years.
Comments.UserDisplayName: Nerdy Girl
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2023-02-08T08:46:49.767Z
Comments.Text: Sorry, this whole question rubs me the wrong way. What's the point of designing without a spec? Should you perhaps start with motivating requirement elicitation followed by carving out a more rigorous specification from the gathered requirements _before_ indulging in drawing diagrams?
Comments.UserDisplayName: Kai
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2023-03-05T01:40:23.350Z
Comments.Text: @BenI. I have to say book recommendation questions here lack of good answers in general.
Comments.UserDisplayName: Qiulang 邱朗
Tags: <project><introductory-lesson><textbook><labs>
Title: Seek for textbook suggestions of introductory software engineering
ThreadText: # Seek for textbook suggestions of introductory software engineering
  
  (Asked by: username_0 on 2022-10-29)
  
  I am looking for a good textbook to teach freshman (or some sophomores) introductory to software engineering.
  Specially, need that the textbook has example labs/projects for the whole semester included in instructor resources. There are many good software engineering books but they do not have labs/project examples.
  Since these students might not have adequate programming ability yet, I plan to focus on more abstract level assignments and do not expect them to code the projects.
  The main purpose is to teach them how a software product could be developed and designed.
  
  So could anyone suggest a textbook of introductory software engineering that has abstract level level labs/projects ?  
  Labs/projects at abstract level using UML could be an option but hopefully, it cover only basic UML ideas/concepts since students might not have enough OOP concepts yet.
  If so, could anyone also suggest simple UML reference books ? Thanks
  
  **Tags:** project, introductory-lesson, textbook, labs
  
  > **Comments:**
  > **username_1**: I don't have an answer, but I second the question!  
  > **username_2**: Look up Dijkstra's [Cruelty of teaching CS](https://www.cs.utexas.edu/users/EWD/transcriptions/EWD10xx/EWD1036.html) (search for "engineering"). ⚠ not a hope giving article. But describes the problem accurately.  
  > **username_3**: Regarding "simple UML references books" in the context of Software Engineering, how about books about business modeling with UML like [Business Modeling with UML: Business Patterns at Work](https://books.google.com.mx/books?id=afc6MwAACAAJ)  
  > **username_0**: Thanks! I will check it out. But I am wondering if there is any new reference book within 10 years.  
  > **username_4**: Sorry, this whole question rubs me the wrong way. What's the point of designing without a spec? Should you perhaps start with motivating requirement elicitation followed by carving out a more rigorous specification from the gathered requirements _before_ indulging in drawing diagrams?  
  > **username_5**: @BenI. I have to say book recommendation questions here lack of good answers in general.  
  
  ---
  
  ## 2 answers
  
  ### Answer by username_6 on 2024-02-20. Score: 2
  
  We have added a course at Colorado State University called "Software Construction". It is typically taken by second year students after two semesters of courses taught using Java (intro and data structures). It is a prequel to the "software Engineering" course. Both feature semester long projects of different complexities. The difference is that the first course, all assignments are individual. In the second course, all assignments are done by a group.
  
  We have chosen to use two books "Clean Code" and "Clean Architecture", both by Robert C Martin, for these courses. We feel that they give a excellent overview of topics we wish to cover. Unfortunately, the books don't contain complete projects.
  
  For a semester long project, we have adapted project ideas from other courses, simplifying structure, and providing some chunks of functionality. We assume a certain level of programming capability for students enrolled in the course.
  
  You might also look at the book "Polymorphism: As It Is Played" by Joseph Bergin. It really details test driven development in the context of writing a calculator program. This would make a nice project having students complete the code, or implement a RPN calculator.
  
  > **Comments:**
  > **username_1**: That's a fantastic set of books.  
  
  ---
  
  ### Answer by username_7 on 2023-01-24. Score: 0
  
  The book to learn UML concepts sis by side with software engineering:
  
  [Ambler, S. W. (2005). The Elements of UML 2.0 Style. United Kingdom: Cambridge University Press.](https://www.google.co.in/books/edition/The_Elements_of_UML_TM_2_0_Style/s1sIlw83-pQC?hl=en&gbpv=1)
  
  > **Comments:**
  > **username_0**: Thanks! I will also check it out. Do you happen to know any new reference book within 10 years ?  
  > **username_8**: @username_0, as a practising programmer, I would not recommend a textbook on UML, unless it's as a prelude to burning them on a bonfire. As Ambler says in the book introduction, "a lot of the communicative value in a UML diagram, is still due to the layout skill of the modeller". I would be even more emphatic, and say that *all* the communicative value of diagrams arise from their non-systematic aspects and the skill of the diagrammer, which is rather contrary to the basic tenet of UML.  
  > **username_5**: Regarding UML, you may refer to this discussion https://cseducators.stackexchange.com/questions/6862/how-necessary-is-uml-for-a-course-in-object-programming-patterns  
  
  ---
  
  