Git Product home page Git Product logo

nss-syllabus-spring-2013's Introduction

NSS Software Development Fundamentals - Spring 2013

The syllabus and slides for the Spring 2013 Software Development Fundamentals course at Nashville Software School.

Full Course Calendar:

http://planbookedu.com/s/RQLTP

Courseware:

https://canvas.instructure.com/courses/790528

Volunteer/Mentor Schedule:

(pending)

Course Goals and Expected Outcomes

Starting Point:

25 students with a wide variety of experiences and education levels.

Our students currently have some skills with HTML/CSS/Javascript and have, to some extent, been exposed to client work and wordpress/php.

Rumour has it that this class has knowledge of git and unix as well.

The students have a strong focus on the end-result of being professional software developers.

Goal:

To produce hirable Junior Developers. As such, they should be able to:

  • build on existing Rails applications
  • work on cross-disciplinary teams
  • grow their skills independently
  • understand the depth and breadth of the field

Instructors

Primary Instructor

Eliza Brock, owner of Eliza Brock Software. Eliza has written web applications that span from boutique e-commerce sites to web services that support hundreds of thousands of mobile devices. She is returning to teach Software Development Fundamentals for a second time.

Assistant Instructor

Ben Bridges, former NSS student and current developer at Zeumo. Ben will be leading lab hours and assisting in class instruction. Ben brings his recent experience with the class and an uplifting attitude to help keep the students from panicking at the pace of the class. Go, Ben!

Schedule

4 units over 12 weeks

Instructional time from 9AM to 12PM, daily.

Lab time from 1PM to 4PM, daily.

Each day starts with standup and then continues of ~3 30-minute lecture topics with attendant discussion and breaks.

After a lunch break, students work on individual assignments and research.

1. TDD of Ruby Data Structures

Goal: Demonstrate competence in standard-library Ruby

Capstone: Implement a variant of cal

  • Week 1: Warm-up and Basic Data Structures
  • Week 2: Digging into Cal; Basic Searching and Sorting Algorithms
  • Week 3: Finishing basic Cal; Refactoring; Documentation
  • Week 4: Advanced Cal; Picking unit 2 capstone projects; Intro to Gem Ecosystem;

2. Exploring the Ruby Ecosystem

Goal: Demonstrate mastery of git, project documentation (README, comments), writing unit tests, basic Ruby

Capstone: TDD Command-line Ruby Application

(This will deviate from the previous course, allowing students to use ActiveRecord as a data store. Otherwise, it will be pure standard-library)

  • Week 5: Planning capstone project; Intro to storing data with Ruby (e.g. File, CSV, ActiveRecord)
  • Week 6: Working on capstone projects; Whatever strikes our fancy

3. Developing a simple Rails application

Goal: Students develop an awareness of how the components of Rails interoperate and the basics of developing a Rails Application.

Capstone: This has no capstone, as the goal is to prepare for the final capstone project.

  • Week 7: Capstone project presentations; Intro to Sinatra (with Cal)
  • Week 8: What is MVC?; Spinning up and deploying a simple Rails app
  • Week 9: Planning and choosing a final capstone project; In-class development of a Rails app using TDD

4. Advanced Topics and Career Prep.

Goal: Students form an understanding of the depth and breadth of the field while meeting many of the practicing developers in Nashville.

Capstone: Develop a decent-sized resume-worthy Rails app using TDD

Lectures in this final portion of the class will be delivered primarily by mentors and community members on their individual areas of expertise.

  • Week 10: TBD; Work on capstone project; Career prep
  • Week 11: TBD; Work on capstone project; Career prep
  • Week 12: TBD; Work on capstone project; Career prep

Lecture topics are determined in large part by student interest and mentor availability.

Topics for this class session have not yet been arranged. However, the previous class covered such topics as:

  • HTTP Caching
  • Deployment
  • Server administration and automation
  • How the DNS system works
  • How operating systems work
  • Dev Ops
  • Networks
  • DB/Security Best Practices
  • API Development
  • Integrating with APIs
  • Fundamental Gates and Circuits
  • Big Oh
  • Overview of the IT field and technologies
  • Interviewing and job searches
  • Compilers and interpreters
  • Transitioning from Junior to Midlevel developer
  • Morals of Software Development
  • Getting paid what you're worth

nss-syllabus-spring-2013's People

Contributors

elizabrock avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.