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
Slide 2
Slide 2 text
Introduction
Slide 3
Slide 3 text
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
Slide 4
Slide 4 text
Where Am I from?
Slide 5
Slide 5 text
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
Slide 6
Slide 6 text
Research
Slide 7
Slide 7 text
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?
Slide 8
Slide 8 text
Course Content
Slide 9
Slide 9 text
Key Ideas
• Individual (well, sometimes team of two)
• Design (Software Design)
• Development
9
Slide 10
Slide 10 text
Individual | Code is meant for human consumption
10
Slide 11
Slide 11 text
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
11
Slide 12
Slide 12 text
Design | Manufacturing vs. Crafting
Standard
Solutions
Slide 13
Slide 13 text
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
13
Slide 14
Slide 14 text
Tools
14
Slide 15
Slide 15 text
Syllabus
Slide 16
Slide 16 text
Topics
• Week 1: Course Overview
• Week 2: Object-Oriented Design
• Week 3: Exceptions, Logging, Error H
a
ndling
• Week 4: Memory M
a
n
a
gement
• Week 5: Disk-b
a
sed Dyn
a
mic D
a
t
a
Structures
• Week 6: File I/O
• Week 7: Cre
a
ting Libr
a
ries
a
nd APIs
• Week 8: Best Pr
a
ctices for Reuse
• Week 9: Individu
a
l Project
• Week 10: Fin
a
l Ex
a
m Week
16
Slide 17
Slide 17 text
Guidelines
17
Attendance (participation) is
Expected
Slide 18
Slide 18 text
Guidelines
18
Hours per Week
Slide 19
Slide 19 text
Guidelines
19
Late Assignments
Slide 20
Slide 20 text
Guidelines
20
Regularly visit our course
page on Canvas
Slide 21
Slide 21 text
Grading
21
Project
Slide 22
Slide 22 text
Grading
22
Slide 23
Slide 23 text
References
Slide 24
Slide 24 text
Homework
Slide 25
Slide 25 text
Homework: Review Java
Read The Java Tutorials
(Links available on Canvas)
As needed
Lab 01
Show me your Java programming "best" skills in
developing a "smart" Tic-Tac-Toe(text mode but
bonus points for GUI)
Team of (max) 2.
Individual work is OK
Slide 30
Slide 30 text
Lab 01
Do not forget:
https://google.github.io/styleguide/javaguide.html
Slide 31
Slide 31 text
Hint (for text-based apps)
Slide 32
Slide 32 text
CSC 305 Individual Software Design and Development
Javier Gonzalez-Sanchez, Ph.D.
[email protected]
Winter 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.