North carolina central university



Download 51.02 Kb.
Date09.01.2017
Size51.02 Kb.
#8218

NORTH CAROLINA CENTRAL UNIVERSITY


Department of Mathematics and Computer Science

Communicating to Succeed


COMP 4730 Syllabus
Hours: TR 9:25- 10:40 Spring 2010


Course Description

The course “Organization of Programming Languages” is designed for senior students majoring in computer science or mathematics. The course features study of the conceptual basis of the programming languages. It covers their syntax, semantics, design and usage comparatively studying representative examples from the classes of declarative, functional and object-oriented languages. In-depth study of the logic programming and Prolog language is another integral part of the course.



General Information



Instructor : Dr. Hayk Melikyan

office 3255 M. Townes Science Building

Phone 530 - 5111

Email : melikyan@nccu.edu


Office hours : TR 11:00(a.m.) – 12:00 (p.m.). Other hours available by appointment.I will be available in my office during these hours for consultation on a first-come-first served basis. You do not need an appointment in advance. In addition, many brief matters can be handled directly after class, and in special cases, we can schedule appointments at other times.

Home Page http://www.cs.nccu.edu/~melikyan

I will maintain a website for this class as an online resource for students. On the web site will be the class syllabus, a rough calendar of lecture topics, assignments and lecture notes. All the material there will be available for download and use by the students in this class.



Textbook Concepts of Programming Languages,

Robert W. Sebesta, Addison Wesley, 9th Edition, 2009

Prerequisite: C or better in Comp 2810 Data Structures

For you to succeed in this course, you will need about 8 - 10 hours a week to study.


Technology Requirements:

• Each student in this section of COMP 4730 must have access to a personal computer.

• Each student must have a current working university email address (@mail.nccu.edu).

• Assignments should be typeset on computer (using MS Word, LaTeX or any other word processor) and the printout should be submitted. In case there is a code as a part of the required submission, e-mail submission of the code will be accepted. No handwritten submissions will be accepted.

• Students should visit the course website regularly to retrieve their assignments,

check course announcements, etc.


Student Learning Outcomes:

Upon the completion of COMP 4730 students will be able to:



1. Critically analyze various design, implementation and engineering issues in the

programming languages they are familiar with.



2. Classify problems in terms of ease and clarity of their solution under different programming paradigms. Choose a programming language for a particular project.

3. Write and debug Prolog code and solve problems from the domain: symbolic computation, constraints, scheduling.

Class Attendance:

Attendance will be taken every class period. Students who are excessively absent and/or tardy will be assigned a grade of NW or NF according to the University’s Class Attendance Policy. Coming to class unduly late and leaving class unduly early is treated the same as being absent. The use of mobile phones, CD players and other personal entertainments devices is not allowed in the classroom during the classes and exams. When a class is scheduled in a computer lab, computers should be used only as directed by the instructor. Students who fail to observe this policy are going to be dismissed, from class, assigned an absence and reported to the Dean. All students’ submissions in this course should reflect their original work. If there are results coming from other sources, these should be appropriately acknowledged. Group work on any written assignment in this course is not allowed unless the instructor specifically requests otherwise. Students should familiarize themselves with the provisions of the NCCU Academic Honor Code and Class Attendance Policy as described in the current University Catalog (2006 Edition, pp. 66 – 68).



Assignments/Exams/Quizzes:

Homework will be assigned weekly. It should be submitted to the instructor, in the computer typeset form (as described above) no later than the due date. Late work will not be accepted. Quizzes, both announced and unannounced, will be given throughout the semester. There will be two midterm exams and a final exam. The final exam will be comprehensive. There are no exemptions from the final exam.



Grading:

Grades are assigned according to the total points earned by the student. The programming assignments will be counted for 15% of your total grade, the midterms and final 65%, remaining 20% will come from homework, quizzes and class contribution.


Grading Scale: A( 90 - 100), B(80 - 89), C(70 - 79), D( 60 - 69), F( below 60).

Missed Assignments:

Missed test counts 0. If you don't miss any test, then your lowest test score will be replaced by the final exam score. There are no makeup tests. There are no early tests, or late tests.



Honesty:

I expect that you will do the assignments by yourself. You should write all programming assignments based on your own programming ability. You may discuss assignments with other students in class but the final code you should write by yourself. It would be good idea to read couple times honesty rules.


The Mathematics Learning Center:

The Mathematics Learning Center is open to all math and computer science students. It is located on the third floor of the Science Complex Room 3238 and 3221. There are supplemental and supporting materials which include modules and additional books. Students are encouraged to make regular use of the available services provided by the math and computer science staff here at NCCU.


How to Succeed:

  • Attend class and do the assigned work. The class-time and work provide a basis for understanding the material.

  • If something confuses you in class, ask me to clarify it. If it still isn’t clear, ask again.

  • When you are confused outside class: read the book (at least twice), especially the worked examples, look over the notes, and, if you are still confused, ask someone who understands (me or another student).

  • Write down what you were confused about and, when you understand, write down the clarification. Try to do other related problems to test your understanding. In the end you are responsible for learning the material.

  • If you get behind and aren’t catching up, let me know as soon as possible. We can then try to work something out.

  • Schedule at least two hours (maybe more) every day that the class meets to do homework and review material. This course requires steady work.

  • As you do the work, keep notes for the exams. Then during the in-class review ask any remaining questions. The night before the exam, review your notes and get a good night’s sleep.

Student Support Services for Students with Disabilities

Students with disabilities (physical, psychological, learning disability, etc.) who would like to request accommodations need to register with the Office of Student Support Services in Suite G20 in the Student Services Building or by contacting Kesha Lee, Director at (919)530-6325 or klee@nccu.edu.  If you are already registered in the office, you will need to return to the office each semester to review your information and receive updated accommodations.



----------------------------------------------------------------------------------------------------------------
(This portion of current page you have to return to your instructor)

--------------------------------------------------------------------------------------------------------------------


I ___________________________________ (print your name) read and agree to the “Student Code of Conduct” set forth by North Carolina Central University and completely understand contents of course syllabus and requirements for COMP4730.
__________________________________ _______________________________

Students signature Date

Topics:

This schedule is tentative. It is subject to change accordance to instructor’s discretion. All changes will be notified in class.



Week1


Unit 1.(INTRODUCTION)

1.0 Overview of course syllabus.

1.1..Reasons for Studying Concepts of Programming Languages.
1.2. Programming Domains

1.3. Language Evaluation Criteria



Read: Chapter I (1.1 – 1.3)

 

Week2



1.4 Influences on Language Design.
1.5 Language Categories.
1.6 Language Design Trade-offs.

Read Chapter I (1.4 – 1.6)




MLK Day No classes





1.7 Implementation Methods.

1.8 Programming environments.



Read: Chapter I (1.7 – 1.8)



Week 3

Unit 2 (HISTORY )

Evolution of the Major Programming Languages.  



Read: Chapter (2.1 – 2.17)


Week 4


Unit 3.( SYNTAX AND SEMANTICS)

3.1Grammar ( Introduction.)


3.2 The General Problem of Describing Syntax.

3.3 Formal Methods of Describing Syntax



Read: Chapter ( 3.1-3.3)

 





3.4 Recursive Descent Parsing. Attribute Grammars.
3.5 Describing the Meaning of Programs: Dynamic Semantics.

Read Chapter(3.4 – 3.5)



Week 5


4.1 Introduction

4.2 Lexical Analysis

4.3 The Parsing Problems

Read: Chapter (4.1-4.3)


4.4 Recursive Descent Parsing

4.5 Bottom –Up Parsing



Read: Chapter 4(4.4-4.5)



Week 6

UNIT 5 ( BINDINGS,TYPE CHECKING AND SCOPE)


5.1 Introduction.

5.2 Names.

5.3 Variables

Read: Chapter 5(5.1-5.3)


 


5.4 The Concept of Binding.

5.5 Type Checking.

5.6 Strong Typing.

5.7 Type Compatibility


Read Chapter 5 (5.4-5.7)



Week7


5.8 Scope.

5.9 Scope and Lifetime.

5.10 Referencing Environments.
5.11 Named Constants.

5.12 Variable Initialization


Read: Chapter 5( 5.8-5.12)







REVIW ( UNIT 1-3)

MIDTERM EXAM I

EXAM COVERS UNITS 1, 2, and 3.


FEB 8





UNIT 6 ( DATA TYPES)

6.1 Introduction.

6.2 Primitive Data Types.
6.3 Character String Types.

Read: Chapter 6(6.1-6.3)




6.4 Array Types.

6.5 Associative Array.

6.6 Record Types

Read Chapter 6(6.4-6.7)




Week 9


    1. Union Types.

6.8 Set Types.

6.9 Pointer Types



Read: Chapter 6(6.7-6.9)



REVIEW AND MIDTERM EXAM II


EXAM COVERS UNITS 4, 5, 6.


Week 10

UNIT 6 ( EXPRESSIONS AND ASSIGNMENT STATEMENTS )

7.1 Introduction.

7.2 Arithmetic Expressions.

7.3 Overloaded Operators.


7.4 Type Conversions

Read Chapter 7(7.1-7.4)




    1. Relational and Boolean Expressions.

    2. Short-Circuit Evaluation.

    3. Assignment Statements.

    4. Mixed-Mode Assignment.

Read: Chapter 7(7.5-7.8)


SPRING BREAK


Week11

    1. Relational and Boolean Expressions.

    2. Short-Circuit Evaluation.

    3. Assignment Statements.

    4. Mixed-Mode Assignment.

Read: Chapter 7(7.5-7.8)



UNIT 7 (STATEMENT LEVEL CONTROL STRUCTURES )

8.1 Introduction.

8.2 Compound Statements.

8.3 Selection Statements


Read Chapter 8 (8.1-8.3)


Week 12

    1. Iterative Statements.

    2. Unconditional Branching.

    3. Guarded Commands

    4. Conclusion

Read: Chapter 8(8.4-8.7)




UNIT 8 ( SUBPROGRAMMS)

9.1 Introduction.

9.2 Fundamentals of Subprograms.

9.3 Design Issues for Subprograms.

9.4 Local Referencing Environment. .

Read Chapter 9(9.1-9.4)



Week 13


    1. Parameter-Passing Methods.

    2. Parameters That Are Subprogram Names.

    3. Overloaded Subprograms.

    4. Generic Subprograms.

    5. Separate and Independent Compilation.

Read: Chapter 9( 9.5-9.9)






UNIT 9 (ABSTRUCT DATA TYPES AND OO PROGRAMMING )

11.1-2 The Concept of Abstraction, Encapsulation.

11.3 Introduction to Data Abstraction.

11.4-5 Design Issues, Language Example.



Read: Chapter 11( 11.1-11.5)

Week 14


    1. Parameterized Abstract Data Type

      1. Introduction to Object-Oriented Programming.

12.3 Design Issues for Object-Oriented Languages.

Read Chapter 11(11.6), Chapter12(12.1-12.3)


12.9 Support for Object-Oriented Programming in C++.

12.10 Support for Object-Oriented Programming in Java.



Read Chapter (12(12.9,12.10,12.13,12.14 )




Week 15


UNIT 10 (LOGIC PROGRAMMING: PROLOG)

16.1 Introduction.

16.2-3 Predicate Calculus and Proving Theorems

16.4 An Overview of Logic Programming.



Read: Chapter (16.1-16.3)

16.5 The Origins of Prolog.

16.6 The Basic Elements of Prolog.

16.7 Deficiencies of Prolog.

Read Chapter ( 16.4-16.6)



Week 16

16.8 Applications of Logic Programming.

16.9 Conclusions.



Examples

Read Chapter ( 16.7-19.9)


Download 51.02 Kb.

Share with your friends:




The database is protected by copyright ©ininet.org 2024
send message

    Main page