Explore online education in Tennessee

COMP 3050 Syllabus

Course Syllabus

COMP 3050 - Programming Languages

3 Credit Hours

Course Information

Course Description:

This course provides an overview of key concepts used in developing modern programming languages. It introduces principles and paradigms of programming languages. This exposes students to various programming languages, their structures and characteristics, so they will be able to choose an appropriate programming language to solve a particular problem. The course will increase the capacity to use existing languages and learn new languages.

Course Outcomes:
  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 & Co-requisites:

Familiarity with a programming language like C, C++, C# or Java is assumed.

Course Topics:
WeekTopics
 Translator Architecture and grammars
1Programming language design and language organization
Hardware and software architecture
 Formal grammars
2Context free languages
Finite state languages
 Context free semantics
3Push-down automata and context free grammars
Semantics
 Encapsulation
4Elementary data types
Structured data
 Data typing
5Abstract data types
Type equivalence
 Inheritance
6Inheritance
Polymorphism
 Expressions
7Expressions
Basic statements
 Prime Programs
8Prime programs
Logic programming
 Sub Program Control
9Activation records
Parameter transmission
 Storage Management
10Stack versus Heap storage
Garbage Collection
 Other Control Structures
11Exception handling
Parallel programming
 Parallel Execution Continued
12Guarded 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:

Please visit the Virtual Bookstore to obtain textbook information for this course. Move your cursor over the "Books" link in the navigation bar and select "Textbooks & Course Materials." Select your Program, Term, Department, and Course; then select "Submit."

Supplementary Materials:

Notes, handouts, presentations as posted on the bulletin board

Hardware and Software Requirements:

Minimum hardware requirements can be found here.

Minimum software requirements can be found here.

Common applications you might need:

Web Resources:

Purdue OWL Online Writing Lab (for APA, MLA, or Chicago style)

The Writing Center Online Writer's Handbook

Student Resources:
  • Technical support information can be found on the TN eCampus Help Desk page.
  • Smarthinking virtual tutoring is available FREE of charge. to access Smarthinking, visit the course homepage and select Smarthinking under Course Resources. You also view sample sessions to see what Smarthinking offers and how it works.
  • Information on other student issues or concerns can be located on the TN eCampus Student Resources page.

Instructor Information

Please see "Instructor Information" in the Getting Started Module for instructor contact information, virtual office hours, and other communication information. You can expect to receive a response from the instructor within 24-48 hours unless notified of extenuating circumstances.

Participation, Assessments, & 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 Procedures:

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

Grading Scale:
90-100A
80-89B
70-79C
60-69D
Below 60F

 

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
Late Policy:
  • 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

The following two statements (1., 2.) were derived from the TBR System-wide Student Rules document, released January 2012:

RULES OF THE TENNESSEE BOARD OF REGENTS STATE UNIVERSITY AND COMMUNITY COLLEGE SYSTEM OF TENNESSEE SYSTEMWIDE STUDENT RULES CHAPTER 0240-02-03 STUDENT CONDUCT AND DISCIPLINARY SANCTIONS

Read the document in its entirety here.

1. Standards of Conduct:

  • Students are required to adhere to the same professional, legal and ethical standards of conduct online as on campus. In addition, students should conform to generally accepted standards of "netiquette" while sending e-mail, posting comments to the discussion board, and while participating in other means of communicating online. Specifically, students should refrain from inappropriate and/or offensive language, comments and actions.

2. Review the TN eCampus Academic Integrity/Academic Honesty Policy:

  • In their academic activities, students are expected to maintain high standards of honesty and integrity. Academic dishonesty is prohibited.

Such conduct includes, but is not limited to:

  • an attempt by one or more students to use unauthorized information in the taking of an exam
  • to submit as one's own work, themes, reports, drawings, laboratory notes, computer programs, or other products prepared by another person,
  • or to knowingly assist another student in obtaining or using unauthorized materials.

Plagiarism, cheating, and other forms of academic dishonesty are prohibited.

Students guilty of academic misconduct, either directly or indirectly through participation or assistance, are subject to disciplinary action through the regular procedures of the student’s home institution.  Refer to the student handbook provided by your home institution to review the student conduct policy.

In addition to other possible disciplinary sanctions that may be imposed, the instructor has the authority to assign an "F" or zero for an activity or to assign an "F" for the course.

Other Course Rules:

Students are expected to:

  • Participate in all aspects of the course
  • Communicate with other students
  • Learn how to navigate in Brightspace
  • Keep abreast of course announcements
  • Use the assigned course management (Brightspace) email address rather than a personal email address
  • Address technical problems immediately:
  • Observe course netiquette at all times.

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

Discussions:

  • 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.

Library

The Tennessee Virtual Library is available to all students enrolled in TN eCampus programs and courses. 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 will be included within the course modules. To access the Virtual Library, go to the course homepage and select the Virtual Library link under Course Resources.

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.

Disclaimer

The information contained in this syllabus is for general information purposes only. While we endeavor to keep this information up-to-date and accurate, there may be some discrepancies between this syllabus and the one found in your online course. The syllabus of record is the one found in your online course. Please make sure you read the syllabus in your course at the beginning of the semester. Questions regarding course content should be directed to your instructor.


Last Revised on July 12, 2021