Skip to content

HackingAtWork/SharpBeginnings

Repository files navigation

Sharp Beginnings

Introduction to Computer Programming using F#, taught through weekly lunchbag sessions. Assignments and tests to come in the form of specflow acceptance tests.

Please keep in mind that this is a course for beginners.

For Windows users, please follow theses instructions here. Once your system is setup, to build test your assignments, run the command:

fake.bat

For Unix (Ubuntu, Mac OSX, etc), please follow these instructions here. Once your system is setup, to build test your assignments, run the command:

./fake

Curriculum

Note: This is still in flux. More specflow/workshop assignments needed.

Part 1: Programming basics

  • Numbers (integers, floating point numbers)
  • Pattern matching
  • Collections (Arrays, Tuples, List, Dictionary)
  • Strings (String manipulation)
  • Recursion
  • Boolean logic (conditionals)
  • Mutable vs Immutable
  • Looping

Part 2: Applied F#

  • Functions (Higher Order Functions)
  • Type Providers (parsing JSON, CSV, other format)
  • Network communication (REST, SOAP, WMQ)

Part 3: Testing with F#

  • Unit Testing
  • Testing a website: Canopy & TickSpec with F#
  • Testing a SOAP endpoint
  • Testing a Messaging endpoint
  • Testing a REST endpoint
  • Connecting to databases (Oracle, Sql Server)
  • File I/O

Part 4: Advanced F#

  • Recursion
  • Currying
  • FAKE (Make for F#)
  • Threading

Workshop

For Part 1:

  • Sorting
  • String Deduplication
  • Fibonacci
  • Christmas tree problem

Assignments

  • Fizz buzz
  • Christmas tree problem
  • build a telephone registry application

For assignments, look at:

  • coursera scala classes
  • SICP book (CHapter 1 & 2)
  • www.CS50.tv
  • Interview questions
  • projecteuler.com

About

Introduction to Computer Programming using F# with a focus on testing

Resources

License

Stars

1 star

Watchers

6 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors