Skip to content

Instantly share code, notes, and snippets.

@SheepTester
Last active May 18, 2023 21:53
Show Gist options
  • Select an option

  • Save SheepTester/d9dae2eab3ecf42ef04c869b66febb6c to your computer and use it in GitHub Desktop.

Select an option

Save SheepTester/d9dae2eab3ecf42ef04c869b66febb6c to your computer and use it in GitHub Desktop.
CSE 110 Content Map (craft.do is annoying)

CSE 110 Content Map

This document serves as a table of contents and map to UC San Diego’s CSE 110 - Software Engineering as taught by Thomas Powell for Spring 2023. Offerings by other instructors may vary in emphasis and content so use this material with extreme caution if somehow you have gained access to it outside the course.

This is a work in progress. I'll change this update statement when I make a major changeThis is a work in progress. I'll change this update statement when I make a major change

Week 1 - Introduction and Definitions

Summary Notes: https://www.craft.do/s/BEtiGoivUaqXO5 Backup and Detail Slides: https://cse110-spring2023.slack.com/files/U04UPM79ZBK/F051EGK394P/1_-_se_introduction-23.pdf

Week 2 - Growing Individual Software Engineers

Summary Notes: https://www.craft.do/s/fWTsrhQJjFDYl7

Slides: https://cse110-spring2023.slack.com/files/U04UPM79ZBK/F05283V7HB4/2_-_making_a_software_engineer.pdf

Week 3 - Creating Groups of Software Engineers, Project Prompt

Summary Notes: https://www.craft.do/s/22hg03hlJlPkBG

Slides: https://cse110-spring2023.slack.com/files/U04UPM79ZBK/F053P8DNEM7/3_-_on_groups.pdf

Extra Item: Goofus and Gallant Cartoon Stories - this had some small tips about good and bad behaviors.

Extra Item: Animal Friends Introduction - this used vidid images from animals to show encouraged behaviors for teams. It was meant to show the commonalities of teams before we introduced the topic formally.

Week 4 - Design Engineering & Process Models

User Centered Thinking Summary Notes: https://www.craft.do/s/7zdiANnydceeYS

Design Process Slides: https://cse110-spring2023.slack.com/files/U04UPM79ZBK/F056UQG7132/5_-_design_process.pdf

Project Reveal

Slides: https://cse110-spring2023.slack.com/files/U04UPM79ZBK/F053VUQ1C83/4_-project_reveal_and_process_problem_preview-_sp23.pdfproject_reveal_and_process_problem_preview-_sp23.pdf (Note these concepts are inherent and are not tested in a direct manner, though many of the aspects of your project, Fortune Telling, LLMs / AI, etc. may be useful to you as examples. The decks are placed here solely for completeness.

Extra Item: Life of Chad Example for User Thinking

Extra Item: In class break down of thinking patterns and process models

Week 5 - Process Models, Design Engineering, Specifications, and Requirements

Process Model

Summary Notes: https://www.craft.do/s/bzm9y0vVAxD6w9 Process Model Slides: https://cse110-spring2023.slack.com/files/U04UPM79ZBK/F0560PXFMK2/6_-_process_model_intro.pdf

Specs and Reqs

Summary Notes: https://www.craft.do/s/2L4dXsINIk9SO4 Specs and Reqs Slides: https://cse110-spring2023.slack.com/files/U04UPM79ZBK/F056HPT6RTM/9-specs_and_reqs.pdf

Week 6 - Architecture, Agile Up Close, Process Engineering, Building Practices

Architecture Summary Notes: https://www.craft.do/s/9xvtpmwdyKidIs Slides: https://cse110-spring2023.slack.com/files/U04UPM79ZBK/F057Q3S2PLP/10_-_architecture.pdf

Agile Up Close Summary Notes: https://www.craft.do/s/4sENC8e2F6IvuR Slides: https://cse110-spring2023.slack.com/files/U04UPM79ZBK/F0574BWC4CD/8_-_agile_methods.pdf Extra Item: In class exercises on Agile

Week 7 - Process Engineering, Building Practices, Midterm

Building and Dev Part 1

Week 8 - Process Engineering, Building Practices Contd, Testing Intro
Week 9 - Testing Conclusion, Distribution and Ops
Week 10 - Closing the Loop to Repeat, Guest Speakers, Conclusions and Review

Final Presentation and Conclusion

{
const { blocks, rootBlockId } = await fetch('https://www.craft.do/api/share/OBNw9npTe8u5pS?enablePagination=true').then(r => r.json())
// const blockBetter = Object.fromEntries(blocks.map(({blocks,style, content,id}) => [id, {blocks,style:JSON.parse(style)}]))
const blocksMap = Object.fromEntries(blocks.map(({blocks,style, content,id}) => [id, {content,blocks,style:JSON.parse(style)}]))
for (const block of Object.values(blocksMap)) {
block.blocks = block.blocks.map(a => blocksMap[a])
}
console.log(blocksMap)
const { content: title, blocks: cblocks } = blocksMap[rootBlockId]
// new Set(Object.values(blocksMap).filter(b => b.style.textStyle !== 'body'))
let output = `# ${title}\n\n`
let indentLevel = 0
for (const {content, style:{_runAttributes,indentationLevel,listStyle}} of cblocks) {
while (indentLevel > indentationLevel) {
indentLevel--
output += '</details>\n\n'
}
if (listStyle === 'toggle') output += '<details open>\n\n<summary>'
else output += '<p>'
let last = 0
for (const {isBold,isCode,isItalic,isStrikethrough,range:[start,len],linkURL} of _runAttributes.sort((a, b) => a.range[0] - b.range[0])) {
const end = start + len
output += content.slice(last, start)
if (isBold) output += '<strong>'
if (isItalic) output += '<em>'
if (isStrikethrough) output += '<del>'
if (linkURL) output += `<a href="${linkURL}">`
if (isCode) output += '<pre>'
output += content.slice(start, end)
if (isCode) output += '</pre>'
if (linkURL) output += `</a>`
if (isStrikethrough) output += '</del>'
if (isItalic) output += '</em>'
if (isBold) output += '</strong>'
last = end
}
output += content.slice(last)
if (listStyle === 'toggle') {
output += '</summary>\n\n'
indentLevel = indentationLevel
} else output += '</p>\n\n'
}
while (indentLevel > 0) {
indentLevel--
output += '</details>\n\n'
}
console.log(window.output = output)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment