COMP 3050
Programming Languages
3 Credit Hours

Course Information

Course Description :

In this course students will be exposed to the analysis and comparison of programming languages, their characteristics and implementation. Various concepts and principles will be discussed. 

Course Objectives:

  1. To provide an overview of key concepts used in developing modern programming languages.
  2. To highlight several languages, which provide those features so that students will be able to  choose appropriate programming language and use it to solve a particular task.
  3. To provide sufficient formal theory illustrating where programming language design fits into computer science discipline and research.
  4. To improve the student's ability to understand the significance and relationship between the source code and program implementation (i.e. execution)
  5. To increase the capacity to express ideas and improve the ability to learn a new language.
Prerequisites and Corequisites:
It is assumed that students taking this course are already familiar with a programming language like C, C++,C#, Java or VB.NET.
Course Topics:
Week

Topics

1

Translator Architecture and grammars

 
Programming language design and language organization
Hardware and software architecture
2

Formal grammars

 
Context free languages
Finite state languages
3

Context free semantics

 
Push-down automata and context free grammars
Semantics
4

Encapsulation

 
Elementary data types
Structured data
5

Data typing

 
Abstract data types
Type equivalence
6

Inheritance

 
Inheritance
Polymorphism
7

Expressions

 
Expressions
Basic statements
8

Prime Programs

 
Prime programs
Logic programming
9

Sub Program Control

 
Activation records
Parameter transmission
10

Storage Management

 
Stack versus Heap storage
Garbage Collection
11

Other Control Structures

 
Exception handling
Parallel programming
12

Parallel Execution Continued

 
Guarded commands
Synchronization


Lectures should be taken in the sequence of course topics given above. Each module should be completed  prior to moving to the next module.

Specific Course Requirements:
Students will also be required to have the necessary software installed in their computers.  The software will be used during program implementation written in C++, C#, Java or VB.NET. Some of the software could be MS VC++6 or 7; MS VS.NET; NetBean4.1 or other Java IDE like TextPad.
Textbooks, Supplementary Materials, Hardware and Software Requirements
Required Textbooks:
Textbook information is available at http://rodp.bkstr.com
Supplementary Materials:
Notes, handouts, presentations as posted on the bulletin board
Hardware Requirements:
The minimum requirements can be found at http://www.tn.regentsdegrees.org/students/hardware_software.htm.
Software Requirements:
The minimum requirements can be found at http://www.tn.regentsdegrees.org/students/hardware_software.htm
Instructor Information
Please see the separate page inside the course to find instructor contact information as well as a statement of virtual office hours and other communication information.
Assessment and Grading
Testing Procedures:

Tests, assignments, and homework will be on individual basis. The time and place for these will be posted on the bulletin board and will be made well in advance of due dates. All tests, assignments, and homework must be turned in on time to receive full credit.

Grading Procedure:

Grades will be based on performance on tests, assignments, and homework.

Grading Scale:
90 - 100 --- A
80 - 89  --- B
70 - 79  --- C
60 - 69  --- D
Below 60 --- F
Assignments and Participation
Assignments and Projects:
     This information will be provided via WebCT and other websites.

Class Participation:

  • Students must check the bulletin board regularly for announcements.
  • Students must participate in collaborative or chat room sessions.
  • Students must communicate with the instructor on a regular basis either by email or telephone call
Punctuality:
  • No extensions will be allowed for deadlines on projects, homework and or assignments.
  • Students are expected to be on time for any scheduled session or collaborative assignment.
Course Ground Rules
  • Plagiarism in any form will not be tolerated and will result in an "F" grade. Academic honesty will be enforced.
  • Missed assignment and homework will not be condoned and will not receive credit unless it has been agreed upon with the instructor. It is the responsibility of the student to  provide the instructor an acceptable documentation before a review of any missed work. Communicate with the instructor if any delay will be anticipated.
  • Assignments, homework and projects must be typed and submitted electronically.
  • Copying and cheating will not be tolerated and will result in a failing grade.
  • Students are expected to communicate with other students in team projects.
  • Students must learn how to navigate in WebCT, regularly check for course announcements.
  • Use the assigned college or university e-mail address as opposed a personal e-mail address.
  • Address technical problems immediately. See section on technical support below
Guidelines for Communications
Email:
  • Always include a subject line.
  • Remember without facial expressions some comments may be taken the wrong way. Be careful in wording your emails. Use of emoticons might be helpful in some cases.
  • Use standard fonts.
  • Do not send large attachments without permission.
  • Special formatting such as centering, audio messages, tables, html, etc. should be avoided unless necessary to complete an assignment or other communication.
  • Respect the privacy of other class members
Discussion Groups:
  • Review the discussion threads thoroughly before entering the discussion. Be a lurker; then a discussant.
  • Try to maintain threads by using the "Reply" button rather starting a new topic.
  • Do not make insulting or inflammatory statements to other members of the discussion group. Be respectful of other’s ideas.
  • Be patient and read the comments of other group members thoroughly before entering your remarks.
  • Be cooperative with group leaders in completing assigned tasks.
  • Be positive and constructive in group discussions.
  • Respond in a thoughtful and timely manner.
Chat:
  • Introduce yourself to the other learners in the chat session.
  • Be polite. Choose your words carefully. Do not use derogatory statements.
  • Be concise in responding to others in the chat session.
  • Be prepared to open the chat session at the scheduled time.
  • Be constructive in your comments and suggestions.
Web Resources:

Library

The Tennessee Virtual Library is available to all students enrolled in the Regents Degree Program. Links to library materials (such as electronic journals, databases, interlibrary loans, digital reserves, dictionaries, encyclopedias, maps, and librarian support) and Internet resources needed by learners to complete online assignments and as background reading must be included in all courses. 

Students With Disabilities

Qualified students with disabilities will be provided reasonable and necessary academic accommodations if determined eligible by the appropriate disability services staff at their home institution. Prior to granting disability accommodations in this course, the instructor must receive written verification of a student's eligibility for specific accommodations from the disability services staff at the home institution. It is the student's responsibility to initiate contact with their home institution's disability services staff and to follow the established procedures for having the accommodation notice sent to the instructor.

Syllabus Changes

The instructor reserves the right to make changes as necessary to this syllabus. If changes are necessitated during the term of the course, the instructor will immediately notify students of such changes both by individual email communication and posting both notification and nature of change(s) on the course bulletin board. Other sections of this course may use slight variations in syllabi. However the WebCT version of the syllabus is the official version.

Technical Support

Telephone Support:
For HELP with:
  • TECHNICAL PROBLEMS please visit the AskRODP Customer Support web page at http://help.rodp.com or call the AskRODP Help Desk at 1-866-550-RODP (1-866-550-7637)
  • REGISTRATION PROBLEMS contact your home school RODP Campus Contact
  • TBR-RODP RELATED ISSUES contact RODP Help Desk at 1-888-223-0023