CSC321.01 2017F, Class 01: An Introduction to the Course
Overview
- Preliminaries.
- Admin.
- Upcoming Work.
- What is this course?
- Course goals.
- Why this course?
- (Possibly) setup time.
Preliminaries
Admin
- We have a guest speaker for the first part of today’s class. We’ll let her speak and then return to this
- Welcome back! I think I know most of you, and I’m happy to be able to teach you again.
- But I’m still taking attendance.
- CS Table Tuesday!
- CS Extras Thursday: Research opportunities at Grinnell.
- I switched my course building tools and do not yet have the course site ready. Cross your fingers that it will be up soon.
Upcoming Work
- Set up way too many accounts
- Learn Ruby
- Codecademy Ruby Tutorial for Wednesday https://www.codecademy.com/learn/ruby
- EdX Ruby Exercises for Wednesday. (Details forthcoming in email.)
What is this course?
Course in how you build software
- Principles of good software
- Practices for building software
We will focus on
- Agile methods
- Software as a Service - Tools related to the Ruby on Rails platform
Course goals
What do you expect to see covered in this course? What do you want to see covered in this course?
- Make a list of five topics.
- In groups of three, share your answers with each other.
- This is an opportunity to make sure that all of you talk.
- This is an opportunity to make sure that we get a variety of ideas heard.
Large project design
- How to modularize a code base
- Dealing with clients
- Testing
- Collaboration, and version control
- Separating dev from running
- Design patterns
- Legacy software
Good UI principles
- Accessibility
Technical annoyances
- How to set up and configure Ruby.
- Build software
- Cloud-based development with C9.
- Deploy with Heroku.
Redundant
- SaaS
- Methodologies, particularly agile
Things that really happen in CSC 322
- Ethics of softare design
- Team building
- Delegation
- Dealing with clients
Misc.
- How do you teach yourselves new things?
Why this course?
Why are you here?
- It’s required for the CS major, and I’ve done almost everything else.
- Seems valuable to have (e.g., knowing agile, knowing about teams).
- Bridge to the real world: It’s a different model of software development than we normally do.
- Think more about the human side of programming.
- Remind you that as CS majors you can quickly put together interesting interactive projects
Course structure
- Seven week course, three days per week.
- During this half of the semester, you are expected to do about twelve hours per week on this class.
- Some days: Work on a lab assignment in teams.
- Some days: Discuss readings/videos.
(Possibly) setup time
Sign up for accounts on
a. http://github.com - Version control ; email me your gitid.
b. http://edge.edx.org - SPOC
c. http://www.edx.org - MOOC
d. http://grinnell-cs.slack.com - Communication
e. http://c9.io - Cloud-based VM (may require credit card)
f. https://www.codecademy.com/ - Learning
g. https://trello.com/ - Task management
h. https://www.heroku.com/ - Deploy rails apps
Work time
Start the Codecademy Ruby Tutorial. https://www.codecademy.com/learn/ruby