Syllabus Info CSE240
Syllabus Info CSE240
Catalog Description
Introduces the procedural (C/C++), applicative (Scheme/LISP), and declarative (Prolog)
languages. Lecture, lab. Prerequisite: CSE 205.
1
• Students will create a simple Prolog factbase and provide queries to obtain information from
the factbase.
• Students will create Prolog programs that use recursive rules to provide a problem solution.
• Students will create Prolog programs that use multiple rules to solve a problem.
2
3. Introduction to object-oriented programming languages (C++) (3 weeks)
1) Concept of object-oriented programming
2) Class definition and members of class, abstract type, constructor and destructors
3) Memory management: static, stack and heap memory, and garbage collection
4) Inheritance and class hierarchies, polymorphism, virtual functions and dynamic binding
5) Containment versus inheritance
6) Function and operator overloading
4. Introduction to applicative programming language (Scheme) (2.5 weeks)
1) Arithmetic expression and prefix notation
2) Basic Scheme procedures, defining your own procedures
3) Scheme environment, global and local variables, immutable variables and side-effect-free
4) First-class functions: function calls can be placed where its return value is expected
5) Recursive procedures
6) Time complexity of sorting algorithms
7) Programming with data structures, number, character, strings, symbol, pairs and lists
8) High order function, map, reduce, and filter
5. Introduction to declarative programming language Prolog (2.5 weeks)
1) Facts, rules, and goals
2) Structured facts and rules
3) Scope of variables
4) Arithmetic operations
5) Recursion and recursive rules
6) Lists and list manipulation
7) Flow control cut and repeat
Grade Policies
Your performance will be assessed by assignments, programming projects, quizzes, a Mid-Term
Exam and a Final Exam. Their weights are:
Assignments and Projects 40%
Weekly Quiz / Exercises 15% (14% + 1%)
Mid-Term 20%
Final Exam 25%
3
Total 100%
The final letter grade is decided according to the percentage points obtained as follows:
A-, A, A+ 90-92, 93-95, 96-100%
B-, B, B+ 80-82, 83-85, 86-89%
C, C+ 70-75, 76-79%
D 60-69%
E less than 60%
The grade of “I” (incomplete) can be given ONLY when a student, who is doing otherwise
acceptable work (passing grade), is unable to complete a part of work (e.g., the final exam)
because of documented illness or other conditions beyond the student’s control. In the latter case,
the student must discuss with the instructor and complete an application form from the
department before the part of work is due or as soon as the circumstances are known. Please see
ASU grading policies at: http://students.asu.edu/grades-grading-policies
There are many books and on-line materials that are related to the course. Followings are a few
of them that might be useful. Other similar books could be used as reference books too. The first
two books were used as the textbooks for this course before the current textbook was approved a
few years.
• Programming Languages Essentials, H. Bal and D. Grune, Addison-Wesley, 1994.
This book focuses on the language principles. Little programming is taught.
• MiniManuals in PC SCHEME and PROLOG, McGraw-Hill, 1991.
• The C Programming Language, B. Kernighan and D. Ritchie, Prentice-Hall, 1978.
• C++ Programming with Design Patterns Revealed, T. Mueldner, Addison Wesley, 2002.
• C++: How to Program, Third Edition, Harvey and Paul Deitel, Prentice-Hall, 2001.
• The C++ Programming Language, B. Stroustrup, Addison-Wesley, 1997.
• The Schematics of Computation, V. Manis and J. Little, Prentice Hall, 1995.
4
• Programming in Prolog, W.F. Clocksin, and C.S. Mellish, Third, revised and extended
edition, Springer-Verlag
• The C++ Resources Network Good tutorial on basics of C++. Also has solid
documentation for the Standard Template Library (STL),
http://www.cplusplus.com/doc/tutorial/
• Stack Overflow Good site for finding answers to specific problems,
http://stackoverflow.com/
The instructor and the TA will CAREFULLY check any possible proliferation or plagiarism by
comparing among the student submissions, previous student submissions, and the publications in
the public Web sites. We will use the document/program comparison tools like MOSS (Measure
Of Software Similarity: http://moss.stanford.edu/) to check all assignments and tests that you
submitted for grading.
1. Seek out, acquaint myself with, and obey the instructor’s rules concerning the materials I
am allowed to use and the types of collaboration in which I am permitted to engage in
each of my courses.
2. Help my fellow engineering students to succeed both academically and professionally,
while both following the instructor’s guidelines on collaboration and encouraging my
classmates to behave ethically.
3. Ensure that all of my individual work products reflect my own abilities and not those of
someone else. I will never copy the work of others or give others the opportunity to copy
mine.
4. Contribute a fair share of work to all teamwork in which I participate, and acknowledge
the contributions of others. I will accept responsibility for the integrity of all work
submitted by my team.
5. Use only aids authorized by the instructor during all examinations, quizzes, projects,
assignments and other evaluations.
6. Provide aid to, or receive aid from other students only as permitted by the instructor.
7. Give full credit to others for their words and ideas, whether directly quoted or
paraphrased, using proper citation practices in all of my work, including text, figures and
computer code, and all materials obtained from the Internet.
5
8. Never act dishonestly including lying, cheating, stealing, or attempting to corrupt the
academic enterprise in any way.
9. Ensure that all data I record or report are objective, true, accurate and properly
documented.
10. Treat all students, faculty and staff with respect, courtesy and dignity, the way I would
like to be treated myself.
11. Recognize that it is how I act when no one else is watching that defines my true
character.
12. Act at all times with integrity, as the true professional that I am to become.
Policy against threatening behavior, per the Student Services Manual, SSM 104–02
Students, faculty, staff, and other individuals do not have an unqualified right of access to
university grounds, property, or services. Interfering with the peaceful conduct of university-
related business or activities or remaining on campus grounds after a request to leave may be
considered a crime. All incidents and allegations of violent or threatening conduct by an ASU
student (whether on- or off-campus) must be reported to the ASU Police Department (ASU PD)
and the Office of the Dean of Students.
Disability Accommodations.
Suitable accommodations will be made for students having disabilities. Students needing
accommodations must register with the ASU disabilities resource Center and provide
documentation of that registration to the instructor. Students should communicate the need for an
accommodation in sufficient time for it to be properly arranged.
Title IX is a federal law that provides that no person be excluded on the basis of sex from
participation in, be denied benefits of, or be subjected to discrimination under any education
program or activity. Both Title IX and university policy make clear that sexual violence and
harassment based on sex is prohibited. An individual who believes they have been subjected to
sexual violence or harassed on the basis of sex can seek support, including counseling and
academic support, from the university. If you or someone you know has been harassed on the
basis of sex or sexually assaulted, you can find information and resources at
https://sexualviolenceprevention.asu.edu/faqs.
6
Mandated sexual harassment reporter: As an employee of the University I am considered a
mandated reporter and therefore obligated to report any information regarding alleged acts of
sexual discrimination that I am informed of or have a reasonable basis to believe occurred.