SYLLABUS
CSC-3004 Introduction to Software Development
Spring 2016

I. Title: CSC-3004 Introduction to Software Development

II. Credit: 4 Semester hours credit, 3 hours lecture, 1 hour lab.

Class: MWF (2:10- 3:10) LLRC 039

Formal Lab: Thurs (12:50-3:00) LLRC 038

III. Instructor: Jim Skon, LLRC, Ext. 3224, Home 397-0290, Cell 358-9417, skon@mvnu.edu

IV. Course Description:

Concepts of software specification and design. Methodologies for software organization and development. User interfaces. File Processing Techniques. Software debugging, testing, and documentation.

V. Position of the course in the College curriculum:

This is a sophomore level Computer Science course required by all computer science majors. It is an optional class for minors. Prerequisite is CSC2033 Data Structures Algorithm Design and proficiency in the C++ programming language.

VI. Objectives of the course for the student are:

  1. To develop skills and experience as a programmer.
  2. To develop strong debugging and testing skills.
  3. To gain experience designing with and using fundamental data structures and algorithms.
  4. To learn concepts and techniques for designing and developing quality software systems.
  5. To understand the essentials of developing and organizing large (multi-file) programs.
  6. To learn the basics about the UNIX file system and processes.
  7. To gain experience programming using a web form based interface.
  8. To develop skills in writing readable, reliable, efficient, and maintainable code.
  9. Ability to evaluate file structures and access techniques for a given application.
  10. To learn the basics of user interface design and implementation.
VII. Institutional goals promoted by the course:

A. Continue to develop the ability to listen receptively, think critically, reason clearly, evaluate objectively, and communicate cogently and clearly.

B. Analyze, synthesize, and integrate various types of information and structures of knowledge, including the causal relationships of events and the logical relationship of ideas.

VIII. Department goals promoted by the course:

A. Broaden the student's understanding and appreciation of the computer sciences.

B. Develop the ability and intellectual tools to evaluate the factors involved in analyzing and implementing a computer based system.

C. Develop the student's problem solving ability by promoting analytical thinking and objective discrimination.

D. Assist the student in development of a Christian world view that includes the proper attitude toward science and technology.

  1. Texts: Both are available on Safari Books Online (See BlackBoard for Links)
A. Steve McConnell ; Code Complete, Second Edition, Microsoft Press, 2004.

B. William Nagel ; Subversion Version Control: Using The Subversion Version Control System in Development Projects, Prentice Hall, 2005.

  1. Outline (Tentative – may be changed as needed at the prerogative of the instructor): See Course Wiki
XI. Method used in this class:

The majority of this class will be lecture and discussion. From time to time to time problems will be discussed, and participation by all in this is encouraged. In addition, feel free to ask questions about lecture topics and about assignments. I am anxious to help you succeed in mastering the course material, so do not hesitate to ask me questions after class or to make an appointment with me during my posted office hours.

Punctual and regular class attendance in important both for efficient use of class time and your complete understanding of the covered topics. Whether present or not, you are responsible for the materials assigned and covered in class. An excused absence is defined as the Dean's or instructor's permission to miss class, except in the case of emergencies, to be arranged in advance. Any question about the validity of a reason for missing class should be checked with the instructor.

XII. Method of evaluation:

A. Exams: There will be one midterm exam (1 hour), and one comprehensive final exam (2 hour).

B. Homework: There will be 16 written assignments. These assignments, usually 1-2 pages in length, will allow you to integrate your reading with your lab work. You may also be called upon to discuss this work in class. Must be turned in on time for full credit. Late assignments will receive half credit.

C. Programming assignments: There will be Five (5) programming assignments to demonstrate concepts.

Grade allocations

Participation: 40 (1 point/day)

Write ups 240 (15 points each)

Midterm 100

Final 120

Projects 500 (100 points each)

Total 1000 points

930

-

1000

%

=

A

900

-

929

%

=

A-

870

-

899

%

=

B+

830

-

869

%

=

B

800

-

829

%

=

B-

770

-

799

%

=

C+

730

-

769

%

=

C

700

-

729

%

=

C-

670

-

699

%

=

D+

630

-

669

%

=

D

600

-

629

%

=

D-

0

-

59

%

=

F

Topic revision: r2 - 2016-01-11 - JimSkon
 
This site is powered by the TWiki collaboration platformCopyright &© by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback