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

CSC305 Summer Lecture 01

CSC305 Summer Lecture 01

Individual Software Design and Development
Course Presentation
(202507)

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 | Summer Version 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. Your Turn • Wh a t is your n a

    me (or how you go by it)? • Are you pro f icient in progr a mming with J a v a ? • Did you took 307/308/309? 7
  5. Key Ideas • Individual (well, sometimes team of two) •

    Design (Software Design) • Development (Tools) 9
  6. 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 10
  7. Design | Manufacturing vs. Crafting • 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 12
  8. Topics • Week 1: Course Overview Object-Oriented Design • Week

    2: Exceptions, Logging, Error H a ndling Memory M a n a gement • Week 3: Disk-b a sed Dyn a mic D a t a Structures File I/O (stre a ms) • Week 4: Cre a ting Libr a ries a nd APIs Best Pr a ctices for Reuse • Week 5: Individu a l Project Fin a l Ex a m Week 15
  9. Grading 21 Assignments L a bs + Quizzes Attend a

    nce & P a rticip a tion 20% 20% 10% 100% Project Fin a l Project Fin a l Ex a m Project 25% 25%
  10. Grading 22 >= 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
  11. Guidelines 23 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
  12. 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. 30
  13. Lab

  14. Second Part | Programming Show me your best Java programming

    skills by developing the assigned code. I will describe the problem during lecture— attendance is expected and labs are not homework! Team of (max) 2. Individual work is OK
  15. CSC 305 Individual Software Design and Development Javier Gonzalez-Sanchez, Ph.D.

    [email protected] Summer 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.