CSCE 315 PROGRAMMING STUDIO SPRING 2019 ROBERT LIGHTFOOT
CSCE 315 PROGRAMMING STUDIO SPRING 2019 ROBERT LIGHTFOOT
PEOPLE • Instructor: • Robert Lightfoot • Teaching Assistant: • Ajit Jain • Peer Teachers: • TBA • Credits for the materials (throughout the semester): • Dr. John Keyser, Dr. Andruid Kerne, Dr. Tanzir Ahmed
BACKGROUND ON THE COURSE • Meant to be a “capstone” to the lower-level classes • Intention is to give lots of programming experience, mainly in a team environment • Should be prepared for any programming assignment in upper-level classes • Should be better prepared for industry programming jobs (internships/co-ops)
PROGRAMMING • Is it engineering? • Is it science? • Is it art? Hint: Think in terms of “automating programming itself”
PROGRAMMING • Is it engineering? Yes. • Is it science? Yes. • Is it art? Yes. Hint: Think in terms of “automating programming itself”
“STUDIO” COURSE • Treat programming more like an art • Of course, after accepting the fact that there is significant science in it • The idea of a studio course is to have an environment where students can practice and refine their skills • Your skills should markedly improve over the semester • Practice, practice • Ideally, you should have plenty of interaction with and feedback from the professor/TA/PTs • This is, in reality, less than ideal
SOFTWARE DEVELOPMENT LIFECYCLE System Specification Requirements Analysis Architectural Design Our primary focus in this course, while learning a little bit of all others Detailed Design Coding and Debugging Unit Testing System Testing Taken from Code Complete Maintenance
TOPICS • Programming techniques and style • Software design principles • Software project management (e. g. , Agile) • Programming tools (e. g. , debuggers, profilers, testers) • Project-specific subjects • • • Databases Artificial Intelligence Human-Computer Interaction
SYLLABUS REVIEW
LECTURES • We’ll meet for approximately 24 classes out of the 35 that we have available • Expect to meet most dates at the beginning of the semester • Will skip lectures later in semester, during projects • Dates without lectures will be given out in advance (and time can be used to meet and work on projects)
ATTENDING LECTURES • Several lectures will be directly relevant to your projects • Will be tested on the tightly-deadline projects • Some lectures will cover topics not put into practice in these projects • Attendance and quizzes make up 10% of the course grade. • • These lectures are not just thrown in for fun! The lecture may be your only exposure to some important topics.
QUIZZES AND OTHER ASSIGNMENTS • Several small assignments and/or quizzes • Some larger quizzes might be announced, while some others unannounced • Makeups not allowed to ensure attendance • Other assignments • We will have an early individual programming assignment • Later (if any) might have small programming exercises or short written reports
PROJECTS • One individual project • 3 team projects, each about a month long • Each project will be a team effort • 3 – 6 people per team • Might require use of specific tools, languages, approaches • Topics from range of CS fields • Lectures will cover additional material
LAB • Note: Labs will start Wednesday of week 1 • Lab times: • • Use as team meeting times TA demos/tools instructions Use as instructor meeting times Code reviews • Lab times are not optional! • This is a bring your own device class. Some labs might be renamed to “BYODFC&APS” Which translates to “Bring your own device, fully charged & a power strip. ”
USE OF LAB ROOM • Your lab room should be available to you when not being used for labs • • See the schedule of lab times to find busy times. Use meeting rooms in Zachary, book at https: //zachry. tamu. edu/zachry-event-managementsystem/
REVIEWS • We will include code reviews • Some code will be graded by other students! • Public review/comments on code/design/documentation/etc. • During lab or lecture times • Programs you work on/submit will not be considered private, for this class • You might be asked to present your code or display your device to the class.
QUESTIONS?
- Slides: 17