CSCI 300 Software Practice

  A study of fundamental software development techniques is the context of small- to medium-scale applications.  Topics covered include user-interface design and programming, fundamentals of graphics, use of APIs and software development tools, testing, and documentation.  Extensive practice reading, writing, and critiquing programs individually and in teams.  Prerequisites: CSCI 205 and CSCI 225  





  The course will pursue two parallel themes: 1) the theme of embracing professional practices in the development of programs following the lead of The Pragmatic Programmer a book written by practitioners of Agile Programming. and 2) the theme of learning MFC (Microsoft Foundation Class) Programming by reading and modifying code in a Visual C++ environment using Richard M. Jones's book and helpful CD.

Notetaking and Recitation   Recitation is an important component of learning.  During the semester students should expect to receive at least one recitation assignment.  This will require analytical reading of material and presentation of that material to the class.

Logging  Learning about your own productivity is an important element in learning to plan.  This is an example log.  The basic idea is to open a document (Notepad or Word or some other text editor or even spreadsheet) and keep track of your work occasionally as you do it.  It is helpful to try to capture a metric, some measure of your productivity and example might be the page numbers you are covering, together with the time.  If you do this and focus on the result you can begin to estimate how much work of various kinds you can get done in a specific amount of time and thus improve your planning.  This is helpful in all study areas, but is essential when you are expected to give employers an estimate of how long it will take you to do various programming tasks.

Coding Standards  It is a good idea to develop an understanding of Coding Standards.  This link will help you in that regard.

Policy Statements: Generic Policies

You are expected to attend all class sessions.  If you miss a class you are responsible for getting the material you missed.  Late work is equivalent to not doing the assignment.  Exceptions (rarely approved without good reason) may be granted in emergency situations.