INTRODUCTION TO PROGRAMMING LANGUAGES I (C#)

CS245

 

SYLLABUS

 

Instructor        : Dr. Mostafa G. Mostafa

WebSite          : www.wku.edu/~mostafa.mostafa

E-mail              : mostafa.mostafa@wku.edu

Office              : TCCW Room 113B

            Phone  : (270) 745-6183

Hours  : MW:  9:00 am to 10 am, 11:30 am to 2:30 pm

              Fri: 11:15 am to 12:15 pm

  Tue, Thu: by Appointment

 

Course Description:

Designed to introduce the syntax, advantages, limitations, and selected applications of a particular programming language such as ADA, BASIC, C, FORTRAN, LISP, COBOL, PL/l, or assembly language. This will not count toward a computer science major or minor if credit is received for an introduction to the same language in another course. May be repeated for up to 3 semester hours credit in the Business Application Option only. (fall, spring)

 

Prerequisite:

A grade of "C" or better in CS 230(or equivalent) and consent of instructor is required.

 

Course Goals:

The goal of this course is to provide a comprehensive introduction to programming using Visual C# .NET. This course introduces the basic programming constructs of simple sequence, selection and iteration. The course shows how to create a number of different types of applications including console-based, Windows, and Web applications. The event-driven programming model, which is based on interactively capturing and responding to user input on Windows and Web forms, is covered. It includes instruction on developing applications using rapid application development techniques illustrating the drag and drop construction approach. From the beginning the course illustrates how to use the .NET predefined types, their member methods, data fields, and properties using an object oriented approach to development. The course also illustrates how to create user-defined classes, stand alone class libraries, and introduces a number of advanced object-oriented concepts.

 

Text:

            Doyle, Barbara, Microsoft Visual C# .NET: From Problem Analysis to Program Design, Course Technology, Incorporated, 2003, ISBN 0-619-15997-9

 

Reading Assignments:

Reading assignments serve as an aid to the class lecture topics.  They will be given in class and are expected to be completed before the next class.  Announced quizzes will be given on reading assignments.

 

Attending Policy:

Attendance will be recorded during each class meeting. You will miss a lot but your grade will be affected by 5 % of final grade if you absence more than 3 classes without accepted excuse.

 

Grading Policy:

Assignments/Quizzes              25%

Mid Term Exams                    20%

Final Exam                              25%

Final Project                            25%

Participation/Attendance        5%

 

Note: Arrangements must be made IN ADVANCE if for some valid reason you cannot take an exam at the scheduled time.

90% - 100%    A

80% - 89%      B

70% - 79%      C

60%-69%        D

<=60%            F

 

Lab Policy:

 

If required a lab will involve solving programming problems related to course content. Labs are due at start of the classes.

 

Term Project (Team-based for non online class – individual-based for the online class):


The purpose of the term project is to build a complete C# application based on the topics covered in class and/or the book topics. The whole class will be divided into groups of 2-3 students. Each group will be responsible to come up with a project idea. An approved project proposal is required before the mid term. Each group will be asked at the last 2 weeks (before the final exam week) to present their work to the class. One of the group members (randomly) will be asked to present the project orally. This means that all of the group members MUST be ready to present the project. In the second class, another team member will be selected randomly to be asked about the project code. Half of the groups will present the project the first week and the next half will be in the next week. The determination of the team’s presentations order will be randomly too. A final report (electronic format not paper format) with a complete documentation (well documented code – screen shots – project description) is required on the presentation day.

 

Cheating Policy


Students are encouraged to work together and learn from each other.  However, cheating in any form on exams, or copying of homework or computer programs will not be tolerated.  Any evidence of cheating will result in a failing grade for the course.

 

General Policy:


Homework is due at the start of class on the due date. Late homework will only be accepted in extenuating circumstances.

 

Student Disability Services

In compliance with university policy, students with disabilities who require accommodations (academic adjustments and/or auxiliary aids or services) for this course must contact the Office for Student Disability Services in DUC A-200 of the Student Success Center in Downing University Center.

Please DO NOT request accommodations directly from the professor or instructor without a letter of accommodation from the Office for Student Disability Services.

 

The Learning Center (TLC)

Located in the Academic Advisng and Retenion Center, DUC-A330
Should you require academic assistance with this course, or any other General Education Course, there are several places that can provide you with help. TLC tutors in most major undergraduate subjects and course levels throughout the week. To make an appointment, or to request a tutor for a specific class, call 745-6254 or stop by DUC A330.  Log on to TLC’s website at www.wku.edu/tlc to find out more. TLC hours: M-Thu. 8am-9pm, Fri. 8am-4pm, Sat.-Closed, and Sundays 4pm-9pm.

 

Suggested Course Calendar (can be changed based on the class feedback and engagement):

 

 

 

Week

Topics

Chapter Readings

Programming Projects

Exams

1

Introduction to Computing and Programming

Chapter 1

 

 

2

Your First C# program

Chapter 2

1, 4, 6, 8

 

3

Data Types and Expressions

Chapter 3

2, 3, 5, 8

 

4

Methods and Behaviors

Chapter 4

3, 8, 9, 10

 

5

Making Decisions

Chapter 5

1, 3, 6, 10

 

6

Repeating Instructions

Chapter 6

3, 6, 8, 9

 

7

Midterm Exam

 

 

Mid-term Exam

8

Arrays and Collections

Chapter 7

1, 4, 7, 9

 

9

Introduction to Windows Programming

Chapter 8

3, 5, 9, 10

 

10

Programming Based on Events

Chapter 9

1, 4, 5, 9

 

11

Advanced Object Oriented Concepts

Chapter 10

5, 6, 7, 9

 

12

Handling Exceptions and Stored Data

Chapter 11

2, 6, 8, 9

 

13

Web-based Applications 

Chapter 12

3, 5, 7, 9

 

14

Final Exam

 

 

Final Exam