Difference between revisions of "Programming Stream"

From CDOT Wiki
Jump to: navigation, search
(What can I do right now?)
(What can I do right now?)
Line 22: Line 22:
 
* add your project(s) to the list of projects under development [http://zenit.senecac.on.ca/wiki/index.php/Programming_Stream_Work_in_Progress_20111 here]
 
* add your project(s) to the list of projects under development [http://zenit.senecac.on.ca/wiki/index.php/Programming_Stream_Work_in_Progress_20111 here]
 
** describe your project(s) in detail on the wiki along with its current state
 
** describe your project(s) in detail on the wiki along with its current state
* add information to any section of this wiki
+
* add information to any section of this wiki - quotes, data, testimonials, suggestions
 
* discuss any project described in this wiki
 
* discuss any project described in this wiki
 
<br />
 
<br />

Revision as of 05:54, 6 January 2011


Programming Stream | Market Demand | Course Content | Work in Progress | Members | Issues


Welcome to the Programming Stream Group at the School of Computer Studies

Feel free to contribute to this wiki and help develop and refine our curriculum further

Introduction

This wiki describes curriculum developments within the programming stream at the School of Computer Studies

  • The scope of the currently active projects is driven by
    • the general need to train professional programmers for direct entry into the workplace
    • the growing knowledge-based industries
      • digital game programming industry
      • open source communities for software developers
  • The information reported here is being provided to
    • inform members of the status quo
    • solicit member comments and criticisms

What can I do right now?

  • add your name to the list of active members and identify your interest here
  • add your project(s) to the list of projects under development here
    • describe your project(s) in detail on the wiki along with its current state
  • add information to any section of this wiki - quotes, data, testimonials, suggestions
  • discuss any project described in this wiki


Current Issues

  • how do we attract the best and the brightest to our program
  • how early should students be exposed to open source tools
  • should students work with repositories
  • should students work in teams in OOP344, BTP300
  • do we need to change emphasis on the material covered in these courses

Languages

Keeping up with the language standards

C Programming

  • the standard that we currently teach in our C courses is C89
  • C99 introduced several new features and deprecated several features
    • //
    • long long
    • variable length arrays
    • inline functions
    • variadic macros
    • gets() deprecated
  • C1x is under preparation
    • support international programming, minimize incompatibilities, projected publication in 2012
    • improved Unicode support
    • multi-threading
    • _Generic keyword
  • shouldn't we start to teach C99 in preparation for C1x
    • as of Visual Studio 2010 Microsoft had no plans to support C99

C++ Programming

  • the standard that we teach is a mixture of pre-standard C++ and C++98
    • C and function style casts are deprecated in C++98
  • C++0x is nearing completion
  • shouldn't we remove our dependencies on pre-standard C++ in preparation for C++0x

Professional Options

Game Programming

  • what are the minimum requirements for game programming students ?
  • are those requirements being met ?
  • GAM666/DPS901 brings together programming and systems for the first time
  • should enrollment in the introductory course be capped
  • should CPD students be given the option to take introductory game programming
    • top CPD students who enroll often do well in this course
  • should workshops be added to these courses
  • should we issue game programming certificates

Open Source

  • what are the minimum requirements for open source students ?
  • are those requirements being met ?


Deferred Issues