Computer Information Systems

Department

Home
Contact CIS
Robinson
Georgia State

 
 

About CIS

Academic Programs

       BBA CIS
       MBA IS
       MISAC
       MS IS
       MS IS MIT (1 year)
       PHD CIS
       EXECUTIVE Education

Certificates

Business Corner

Faculty & Research

Faculty

Research

News

Student Info

CIS Alumni

CIS Internship

 

Driving Directions

 
 
 

CIS 3260 - Introduction to programming in C# (C / C++)

Prerequisite:

CIS 2010, CSP 1 or Graduate Status.

Required Material

Text:

Starting Out With C#, by James Chegwidden, Tony Gaddis
Publisher: Addison Wesley (February 15, 2005) ISBN: 1576761614

Compiler You must have access to Visual C#.NET compiler, part of Visual Studio 2003
edition. CIS students can download it for free at  http://msdn.e-academy.com/gsu_cis (GSU's CIS Department and the Microsoft Developer's Network Academic Alliance. 
The CIS Department at GSU is now licensed under the MSDN Academic Alliance (MSDNAA) Program which enables every student and faculty member to access all of the software available under the Program. Microsoft's e-academy is responsible for making this software available to everyone for direct download over the Internet.

The MSDNAA database of CIS-course-registered students is compiled each semester from those students who are taking are taking classes offered by the Computer Information Systems department.  If you have flagged your GSU Directory Information as "BLOCKED-CONFIDENTIAL", you will have to come to the Department and sign a release. This is done only ONCE per semester. To become an eligible user, you have to be a current "CIS course" student and the upload will automatically register you sending all the information to your student email account  @ GSU. Please refer to MSDNAA Master End-User License Agreement.

Eligible students, faculty, and staff may access this software at http://msdn.e-academy.com/gsu_cis . Here you can download and access the complete suite of Microsoft developer tools, servers, and platforms. There is no charge to download the software as long as you are an eligible user in the System. There are some selected products that have the option of purchasing the media for a minimum charge.

The course syllabus provides a general plan for the course.  Deviations may be necessary.

Catalog Description:

This course provides an introduction to structured programming using the C# language. Emphasis is placed upon development of correct, efficient programs that are easy to maintain. Topics include: problem analysis, program design, documentation, testing and debugging. Basic features of the C# programming language such as data types, control structures, functions, arrays, pointers and strings are covered.

Special Considerations:

Introductory programming courses are inherently difficult for most students without prior experience. The use of C#  programming language in this course heightens the difficulty level even more, because it is a powerful languages designed for use by professional programmers, not for teaching programming to beginning students. It is the language of choice in today’s software development environment and the ability to program in C# is a valuable job skill, but it can be intimidating to a beginner or even to programmers experienced in other languages. The implication of this for you as a CIS 3260 student is that you must apply yourself diligently in order to do well in the course. This includes attending class regularly, reading the assignments before coming to class and working as many problems in the textbook as possible. You should be aware that missing even one lecture will put you significantly behind your classmates. If you must be absent, arrange to obtain the lecture notes of someone who is an accomplished note-taker. If you have questions about a specific topic that you missed, see the instructor during office hours, but be aware that he cannot repeat a two-hour lecture for the benefit of one student.      This course gets progressively more difficult!

Method of Instruction:

Each lecture will cover the same features of C# as the reading assignment in the textbook, but from a different, and usually more advanced, perspective. The lecture will not simply repeat the material in the textbook. Therefore, it is essential that you read the assigned material and work through the problems in each chapter in advance of the lecture. Otherwise, you may find the lectures incomprehensible.

Class Attendance Policy:

Roll will not be taken on a regular basis.  It is the student’s responsibility to take notes, obtain assignments, and turn in work on time.  Absence from class does not relieve you of any of these responsibilities. 

Withdrawals

Students who withdraw by the official withdraw date will receive a grade of W.  Students withdrawing after this date will receive a grade of WF unless a hardship authorization is obtained from the Dean of Students.

Incompletes

A grade of I will be given only in exceptional circumstances.  A student must have completed all but one of the requirements of the course in order to be eligible to receive a grade of I.

Extra Credit: The instructor reserves the right to give extra credit assignments if the overall
(not just an individuals) course performance is not up to the instructor’s standard.

Programming Assignments:

Programming assignments will be collected and graded. IMMEDIATELY familiarize yourself with the compiler and use it as a laboratory to conduct experiments that will help you to understand and write programs. DO NOT WAIT.

Note: Save your work often and make backups. Computers do crash, especially if your program misuses pointers. Always save your work before compiling or executing code.

Exams:

Generally, questions will involve writing and debugging programs and program fragments, as well as conceptual questions from the textbook and lectures. There can also be some multiple choice and fill in the blank questions.

Makeup Exams: A grade of zero will be assigned on any missed exam unless the instructor is notified in advance, a valid [in the opinion of the instructor] reason for missing is documented [i.e. doctors note, police report], and arrangements are made for how to make up for the missed assignment. Makeup exams will be essay/coding only, no multiple choice or short answers.

Grading Policy:

300 Points: 2 Midterms

            Exams are closed book, closed notes, with the exception of a single one sided 8 ½*11
            hand written sheet of paper that needs to be turned in.
            Exams take about one hour and are in general at the beginning of the class period.

350 Points Selected Assignments are graded, and their points prorated for ungraded assignments

            Program 1 Pseudocode 10 Pts

            Program 2 Input, Processing, Output 10 Pts

            Program 3 Decisions 30 Pts

            Program 4 Loops 30 Pts

Program 5 Methods 20 Pts
            Program 6 Classes 20 Pts

            Program 7 Arrays 60 Pts

            Program 8 Classes 40 Pts

            Program 9 Files 30 Pts

Program 9 Inheritance 20 Pts

Program 10 Windows 1 30 Pts

Program 11 Windows 2 30 Pts

50 Points: Participation, other homework and pop quizzes

300 Points Final : Comprehensive final with emphasis on pointers, arrays, and strings.
            The final is open notes, open book.

1000 Points total: 1000-900 A, 899-800 B, 799-700 C, 699-600 D, <599 F

Pop Quizzes: The instructor reserves the right to give unannounced pop-quizzes. These quizzes are closed book, and last about 10 minutes. There is no makeup for pop-quizzes

Grading of Assignments:

1.       Assignments are due at the beginning of class on the date specified. Five % will be deducted for programs handed in after the lecture begins. NO programs will be accepted after the end of class on the due date, no exceptions.  Do not wait until the last day to get printouts of your programs.

2.       To submit: (1) A printed copy of your program code (=listing) should be submitted along with (2) printed evidence of the performance of your program (screenshot). This printed evidence should display on paper everything that appeared on your screen when you ran the program, including data that you entered via the keyboard. See instructions in following pages.

3.       Testing is a critical part of the programming process. The burden of proof that a program works always rests with the programmer. Whether or not test data are provided, you should adequately test your program to insure that it works correctly in all cases. When test data are provided you must turn in your assignment using that same test data.

4.       Many programming assignments specify that a particular approach be used. Read the assignment carefully to be sure that you understand how the problem should be solved. If you use the wrong approach, the fact that your program produces the correct output is immaterial.

5.       Programs must be well-structured, readable and efficient. Use meaningful names, indentation, comments, and other elements of style discussed in the course. An unreadable program is not maintainable and is worthless even if it produces the correct result.

6.       Output should be neat, properly aligned and have useful headings. Requests for interactive input should be preceded by a prompting message.

7.       Programs must conform to the ANSI standard and should use only those features of C# which have been covered in the course at the time of the assignment.

In general, the following point system will be used as a guideline for grading of code:

Overall Deductions:

- 20% Not using the provided test data

- 20% Improper use of advanced C# features (see 7)

- 20% Not following the instructions regarding the required approach (see 4)

- 30% Your name does not appear in your code/output as specified:

Standard program head for all homework submissions:

// Programmer: your name
// Filename: have your filename here  xxx.cs

// Last modified: have your date here

// Description: a short description of what the program does

Performance

- 0% Program runs correctly and produces the correct output

- 10% and more  Program has minor error (e.g. typo in formula or text, …)

- 20% and more  Program has major error or many minor errors

- 30% and more  Program does not run due to syntax error

- 40% and more  Only program fragments turned in, program crashes,


Maintenance

- 20% Poor naming of variables/functions

- 20% Improper indentation

- 20% Poor program structure

- 20% No/poor documentation in code

Input/Output

- 10% No prompting for input

- 10% No headings

- 10% Output alignment problems (e.g. table headers)

- 20% No output provided

Original Work

Do not jeopardize your grade by allowing others to copy your work. Program and project submissions imply a wholly original work by the student.  Academic credit is not available for copied program code.  Blocks of code from external sources may NOT be inserted into student programs.  Where project code has been adapted from external sources, comments must indicate the exact source of the original code.

Note: When you are stuck with a problem, it is permissible to ask a co-student/lab assistant to help find the error. You are also encouraged to email me your code - I return it corrected within 24 hours. If you do not understand the wording/meaning of a particular assignment, you can also consult with others or email me.

However, you are NOT allowed to copy someone else's code, nor to discuss solutions. This is not considered original work.  The penalties for giving and receiving help are the same, and follow department and university policy and can result in dismissal from the course, department, and/or university.

Submitting evidence of Program Execution

As in all the homework assignments, you should turn in a computer printout of your program (called listing) as well as computer generated printed evidence of the running of our program.

Listing  A listing can be usually obtained by selecting FILE-PRINT-LISTING.

This printed evidence should display on paper everything that appeared on your screen when you ran the program. In future assignments, this will include data that you entered via the keyboard.

Windows 95… XP Environment with Word Processor:

After you have run your program in a window, click with the mouse once on the window to make it the active window (change in frame border color). Hit the “Alt-PrintScreen” (hold down the Alt key and hit the PrintScreen key). This makes sure that the current window as seen is copied to the clipboard. Now open your word processor (e.g. Word for Windows), and from the top menu select Edit/Paste.This inserts the screenshot from the clipboard. Resize it so that the output is readable. Save that wordfile under a unique name, e.g. prog1-screen1. Since it is “difficult” to work with multiple screenshots in a word document, print out each of these screenshots one at a time. Proceed with the other screenshots if necessary.

Alternative: Use the little [] icon at top-left of DOS window and highlight content, cut, paste into word processor.

Sample Class Schedule of Lectures (subject to change)

PRIVATEClass

Topic

Chapter

Due

1      T Aug 23

Starting out with C#

1

 

2      T Aug 30

C# Fundamentals

2

Prog 1

3      T Sep 5

Decision Structures 

3

Prog 2

4      T Sep 13

Loops and Files

4

Prog 3

5      T Sep 20

Methods

5

Prog 4

    T Sep 27

Exam 1

 

Prog 5

7      T Oct 4

A First Look at Classes

6

 

8      T Oct 11

Arrays

7

Prog 6

9      T Oct 18

A 2nd Look Classes and Objects

 

Prog 7

10    T Oct 25

Exceptions & Files

8

Prog 8

11   T Nov 1

Inheritance

 

Prog 9

12    T Nov 8

Exam 2

 

Prog 10

13   T Nov 15

1st Look Windows Applications

9

 

14    T Nov 22 (Thanksgiving)

 

 

 

15    T Nov 29

Advanced Window Applications

 

Prog 11

16    T Dec 6

Review

 

Prog 12

Finals (Takehome)

Tuesday December 13 5:00 p.m.

 

 

  Quick Links
  Syllabus List
  GoSolar Schedule
  Health Informatics

Apply Online:

Graduate

Undergraduate

Copyright © 2009 Computer Information Systems Department, Georgia State University. All rights reserved.