COMP 3050 Syllabus
Course Syllabus
COMP 3050 - Programming Languages
3 Credit Hours
Course Information
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.
- To provide an overview of key concepts used in developing modern programming languages.
- 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.
- To provide sufficient formal theory illustrating where programming language design fits into computer science discipline and research.
- To improve the student's ability to understand the significance and relationship between the source code and program implementation (i.e. execution)
- To increase the capacity to express ideas and improve the ability to learn a new language.
Familiarity with a programming language like C, C++, C# or Java is assumed.
Week | Topics |
Translator Architecture and grammars | |
1 | Programming language design and language organization Hardware and software architecture |
Formal grammars | |
2 | Context free languages Finite state languages |
Context free semantics | |
3 | Push-down automata and context free grammars Semantics |
Encapsulation | |
4 | Elementary data types Structured data |
Data typing | |
5 | Abstract data types Type equivalence |
Inheritance | |
6 | Inheritance Polymorphism |
Expressions | |
7 | Expressions Basic statements |
Prime Programs | |
8 | Prime programs Logic programming |
Sub Program Control | |
9 | Activation records Parameter transmission |
Storage Management | |
10 | Stack versus Heap storage Garbage Collection |
Other Control Structures | |
11 | Exception handling Parallel programming |
Parallel Execution Continued | |
12 | 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.
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
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."
Notes, handouts, presentations as posted on the bulletin board
Minimum hardware requirements can be found here.
Minimum software requirements can be found here.
Common applications you might need:
- To read a PDF file download the latest version of Adobe Reader here
- Don't have Microsoft Word? Explore an alternative OpenOffice here
- Accessing a PowerPoint file? Download the PowerPoint Viewer here
Purdue OWL Online Writing Lab (for APA, MLA, or Chicago style)
The Writing Center Online Writer's Handbook
- 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
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.
Grades will be based on performance on tests, assignments, and homework.
90-100 | A |
80-89 | B |
70-79 | C |
60-69 | D |
Below 60 | F |
This information will be provided via WebCT and other websites.
- 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
- 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.