WMich Home

 

CS Home

 

Ajay Gupta's Teaching Home

 

CS 4850 Home
Class Policies  & Syllabus
Topics Covered
Home Work I
Home Work II
Home Work III
Home Work IV
Home Work V
Home Work VI
 
 
 
 
 
Message  Board
Class List
Reading List
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Email webmaster

CS 4850 - Programming Languages - SummerII 2006

Class Policies

Instructor:

     Dr. Ajay K. Gupta

Office:

     B-239, CEAS, Parkview Campus (276-3104)

Office hrs:

     3:00pm - 4:00 pm Mondays and Wednesdays, and by Appointment

Web Contact:

     http://www.cs.wmich.edu/gupta/teaching/cs4850/sumII06/index.html

     E-mail :ajay.gupta@wmich.edu

Timings and Room:

     M W F, 13:00 -14:40pm, CEAS C0124, Call # 30463

Texts:

Additional Readings:

Prerequisites:

  • Strong desire, self-motivation & dedication to learn & contribute to area of CS/CSE/CE
  • Proficient in C, C++ or Java
  • Low-level, systems programming and Linux programming experience
  • CS3310 (aka CS331) - Data and File Structures

Course Description:

Properties of various programming languages including scope of declarations, storage allocation, control structures and formal parameters will be studied, as well as run time representation of programs and data structures. A study of compilers and interpreters will be made. This will include loading, execution, storage allocation, symbol tables, lexical scan, parsing and object code generation. The relation of automata to formal languages and grammars will be discussed.

Computer usage: Students complete 4-6 programming assignments during the semster.

Course Objectives and Learning Outcomes:

The general objective of this course is to introduce students fundamental concepts used in various programming languages. Upon completion of this course, students are able to:

  1. know the evolution of programming languages
  2. understand the nature and structure of language
  3. understand lexical and syntax analysis
  4. be able to translate common language constructs to assembly
  5. describe how object-oriented languages implement inheritance, polymorphism, and encapsulation
  6. be able to describe a variety of garbage collection strategies

Topics (in no particular order):

  1. Introduction and evolution of programming langauges
  2. Syntax and semantics
  3. Lexical and syntax analysis
  4. Lisp
  5. Data types, variables, scopes and type checking
  6. Statements and control structures
  7. Subprograms
  8. OOPL concepts
  9. Garbage collection
  10. etc.

Grading:

     During the term there will be two examinations, a number of pop-quizzes and possibly a few student presentations. In addition, there will be homework assignments outside of class, programming and written. Project may be divided up in homework assignments. These components will carry the following weights in computing an overall average (if one of the components is not covered adequately its weightage may be transferred to other components):

  • Examination 1 (tentative, 7/24/06)  30%
  • Examination 2 (tentative, 8/16/06) 30%
  • In-Class Pop-quizzes 10%
  • Homeworks (approximately 4-6) 30%

     The following minimum averages are required to guarantee the indicated grade. While the scale may be changed slightly, it will be changed to your benefit. A - 90; BA - 85; B - 80; CB - 75; C - 70; DC - 65; D- 60.

     Incomplete grades Please note that the incomplete grade - 'I' is intended for the students who has missed a relatively small portion of work due to circumstances beyond his/her control. In general, performance on work done must be at a level of C or better in order to qualify for an incomplete. An I grade will not be given to replace a low or failing grade in a class.

Minimum Passing Requirement:

     No student will pass the course without completing each of the homework, programming assignments, pop quizzes and examinations satisfactorily.

Class Policies:

   In general, there will be NO make ups for the exams. If you miss an exam for a VALID reason, then arrangements may be made on an individual basis. Home works and programs are to be submitted at the class time on the due date. There will be a late penalty of 5% per day including weekends. Home works and programs will not be graded after 10 days including weekends (unless prior arrangement is made because of illness etc.) All home works and programs should be turned in, however, to pass the course. Confirmed cheating on an exam will result in an automatic E for the course. All programming and homework assignments are to be completed individually. Collaboration on the programming and homework assignments is also considered cheating. Identical programs, look-alike, or obvious joint efforts will result in an E grade for all involved. Note that it is your responsibility to protect your work so that others will not copy it.

  You are expected to stay alert and pay attention to the directions/announcements in the class. Cellphones, PDAs, and other electronic devices should NOT be used during the lecture and should be turned-off. If available, please do bring your laptop to the class. Web-surfing of non-course related material is NOT permitted during the class. You may surf the web only when specifically told to do so. In order to maintain the integrity of the classroom and if I feel it is distracting you or others, I may ask you to turn-off your laptop.

Dropping of Class:

      The last day to drop classes is July 6, 2006, 5:00pm (100% refund) and July 24, 2006, 5:00pm (without academic penalty, W recorded on transcripts).

Academic Integrity and Honesty:

     The following has been distributed by the Western Michigan Faculty Senate: You are responsible for making yourself aware of and understanding the policies and procedures in the undergraduate (pp. 274-276) [Graduate (pp. 25-27)] Catalog that pertain to Academic Integrity. These policies include cheating, fabrication, falsification and forgery, multiple submission, plagiarism, complicity and computer misuse. If there is reason to believe you have been involved in academic dishonesty, you will be referred to the office of student judicial affairs. You will be given the opportunity to review the charges. If you believe you are not responsible, you will have the opportunity for a hearing. You should consult with me if you are uncertain about an issue of academic honesty prior to the submission of an assignment or test.

In this course, you are expected to submit only your work for credit or exams, unless a project or activity has been made to groups, in which case the group is to submit only work done by members of the group. Unless otherwise told, you may not bring aids to exam. Submission of another person's work as your own in part or whole is not permitted and can result in a failing grade for the class. Learning can certainly occur with discussion of class material and assignments with other students, but take care that you don't represent the work of another as your own. If you are copying portions of someone else's work, either by hand or electronically, you are going too far. If two or more people are working so closely together that the outcomes, particularly computer programs, are essentially line by line the same, you are going too far. If you are found responsible for academic dishonesty under the University policy, you will receive a failing grade in the class.

Additional Note: Easy availability of information, material, source codes, lecture notes etc on the Internet may make it possible to find solutions to your assignments on the Internet or elsewhere. It is okay to refer to those, understand them and use them to enhance your solutions, generate your own ideas etc. However, you must give proper and full credit to original authors of the work, if you include their ideas and/or solutions. Failing to do so is part of academic and professional dishonesty. It will not be tolerated in this class. Do not give in to temptations..

 

Home