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

CSC305 Lecture 01

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.

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.