mirror of
https://github.com/PKUFlyingPig/cs-self-learning.git
synced 2026-06-24 02:16:58 +08:00
Update 6031.en.md
This commit is contained in:
parent
703ec09e93
commit
7a38ec92e7
1 changed files with 4 additions and 7 deletions
|
|
@ -11,25 +11,22 @@
|
||||||
The goal of this course is for you to learn how to write high quality code, and what is meant by high quality is to meet the following three targets:
|
The goal of this course is for you to learn how to write high quality code, and what is meant by high quality is to meet the following three targets:
|
||||||
|
|
||||||
> Safe from bugs. Correctness (correct behavior right now) and defensiveness (correct behavior in the future) are required in any software we build.
|
> Safe from bugs. Correctness (correct behavior right now) and defensiveness (correct behavior in the future) are required in any software we build.
|
||||||
>
|
|
||||||
> Easy to understand. The code has to communicate to future programmers who need to understand it and make changes in it (fixing bugs or adding new features). That future programmer might be you, months or years from now. You’ll be surprised how much you forget if you don’t write it down, and how much it helps your own future self to have a good design.
|
> Easy to understand. The code has to communicate to future programmers who need to understand it and make changes in it (fixing bugs or adding new features). That future programmer might be you, months or years from now. You’ll be surprised how much you forget if you don’t write it down, and how much it helps your own future self to have a good design.
|
||||||
>
|
|
||||||
> Ready for change. Software always changes. Some designs make it easy to make changes; others require throwing away and rewriting a lot of code.
|
> Ready for change. Software always changes. Some designs make it easy to make changes; others require throwing away and rewriting a lot of code.
|
||||||
|
|
||||||
|
|
||||||
To accomplish this, the designers of this course have written a book that explains many of the core principles of software construction and the valuable lessons learned therefrom. The book covers such details as how to write annotations and function specifications, how to design abstract data structures, and many parallel programming aspects, all of which you will be able to explore and practice in carefully designed Java programming projects.
|
To achieve this, the instructors write a book explaining many of the core principles of software construction and valuable lessons learned from the past. The book covers many practical topics such as how to write comments and specifications, how to design abstract data structures, and many parallel programming caveats. You will explore all of these ideas in the programming assignments.
|
||||||
|
|
||||||
The Spring 2016 semester course open-sources the code framework for all of its programming assignments, and the latest course materials can be found on its latest course website, see below for links.
|
In the 2016 spring, the course open-sourced all of its programming assignments, and the textbook can be found on the latest website (see links below).
|
||||||
|
|
||||||
## Course Resources
|
## Course Resources
|
||||||
|
|
||||||
- Course Website: [2021spring](http://web.mit.edu/6.031/www/sp21/), [2016spring](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-005-software-construction-spring-2016/)
|
- Course Website: [2021spring](http://web.mit.edu/6.031/www/sp21/), [2016spring](https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-005-software-construction-spring-2016/)
|
||||||
- Recordings: None
|
- Recordings: None
|
||||||
- Recordings: refer to the course website
|
- Assignments:4 Problem Sets+ 1 Project
|
||||||
- Assignments:4 Problem Sets+ 1 Projects
|
|
||||||
|
|
||||||
## Personal Resources
|
## Personal Resources
|
||||||
|
|
||||||
All the resources and assignments used by @PKUFlyingPig in this course are maintained in [PKUFlyingPig/MIT6.031 --- GitHub](https://github.com/PKUFlyingPig/MIT6.031-software-construction)
|
All the resources and assignments used by @PKUFlyingPig in this course are maintained in [PKUFlyingPig/MIT6.031 --- GitHub](https://github.com/PKUFlyingPig/MIT6.031-software-construction)
|
||||||
|
|
||||||
@pengzhangzhi completed the assignment and recorded notes for this course, and the code is open source at [pengzhangzhi/self-taught-CS/Software Construction - Github](https://github.com/pengzhangzhi/self-taught-CS/tree/main/Software%20Construction)。
|
@pengzhangzhi completed the assignments and took some notes, maintained at [pengzhangzhi/self-taught-CS/Software Construction - Github](https://github.com/pengzhangzhi/self-taught-CS/tree/main/Software%20Construction)。
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue