Skip to main content

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

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