Upgrade to Pro — share decks privately, control downloads, hide ads and more …

CSC305 Lecture 01

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

CSC305 Lecture 01

Individual Software Design and Development
Course Presentation
(202509)

Avatar for Javier Gonzalez-Sanchez

Javier Gonzalez-Sanchez PRO

September 22, 2025

More Decks by Javier Gonzalez-Sanchez

Other Decks in Programming

Transcript

  1. Dr. Javier Gonzalez-Sanchez [email protected] www.javiergs.info o ffi ce: 14 -227

    CSC 305 Individual Software Design and Development Lecture 01. Course Presentation
  2. First n a me L a st n a me

    Dr. J a vier Gonz a lez-S a nchez j a viergs@c a lpoly.edu www.j a viergs.info Contact Information 3
  3. www.j a viergs.info/te a ching/ At CSU: Softw a re

    Engineering (CSC 305, CSC 307, 308, 309, 508, 509) Hum a n-Computer Inter a ction (CSC 486 a nd CSC 570) Teaching 5
  4. 7 Your Turn • Wh a t n a me

    do you prefer to go by? • How pro f icient a re you in J a v a progr a mming? • H a ve you t a ken CSC 307 / 308 / 309?
  5. 10 Key Ideas • Individual (well, sometimes team of two)

    • Design (Software Design) • Development (Tools)
  6. 11 Individual | Code is meant for human consumption •

    Someone else is going to re a d my code. • Someone else is going to try to modify or extend my code. • My code should be Open a nd Close. • Wh a t m a kes code e a sy to underst a nd? • St a nd a rd Problems h a ve St a nd a rd Solutions
  7. 13 Individual | Code is meant for human consumption •

    Anybody c a n do progr a mming. • You a re Engineers a nd Scientists, therefore … • Wh a t a bout te a m-working? "Gre a t te a ms a re built when good individu a ls bring their strengths together.” • CSC 305 is a bout the individu a l
  8. 16 Topics covered in CSC 307, 308, and 309 Deployment

    Softw a Testing Coding, Progr a Developing Softw a Design Requirement Engineering [+]
  9. 17 Not CSC 305, but Highly Relevant • C a

    n you cre a te the Product B a cklog for the project described in L a b 1 • How m a ny stories (user stories)? • Do you remember INVEST? • Priority? • Estim a tion?
  10. 18 Topics • Course Overview • Object-Oriented Design • Exceptions,

    Logging, Error H a ndling • Memory M a n a gement • Disk-b a sed Dyn a mic D a t a Structures • I/O • Cre a ting Libr a ries a nd APIs • Best Pr a ctices for Reuse • Project • Fin a l Ex a m Week
  11. 24 Grading Assignments L a bs + Quizzes Attend a

    nce & P a rticip a tion 25% 25% 10% 100% Project Fin a l Project Fin a l Ex a m Project 20% 20%
  12. 25 Grading >= 96.5 A >= 93 A- >= 89.5

    B+ >= 86 B >= 82.5 B- >= 79 C+ >= 75.5 C >= 72 C- >= 68.5 D+ >= 65 D >= 61.5 D- < 61.5 F
  13. 26 Guidelines Please avoid grade grubbing —feel free to ask

    questions and clarify doubts, but don’t request extra points unless there’s a clear grading error
  14. 30 Performance + Readability • Write e ff icient code

    but prioritize re a d a bility a nd m a int a in a bility. • Optimize perform a nce-critic a l sections only when necess a ry.
  15. Lab

  16. CSC 305 Individual Software Design and Development Javier Gonzalez-Sanchez, Ph.D.

    [email protected] Fall 2025 Copyright. These slides can only be used as study material for the class CSC305 at Cal Poly. They cannot be distributed or used for another purpose.