In this course we will be discussing the theoretical design and the practical implementation of programming languages, and a features from a wide range of programming languages in a simplified setting.
Topics include:
This course introduces many concepts underlying the design, definition, implementation and use of modern programming languages. We study:
various programming language paradigms including: functional, imperative, concurrent, and object-oriented programming;
the implementation of a small programming language with many features which supports various programming paradigms;
students are also introduced to knew ways of thinking by learning a new programming language which uses a paradigm they may not have programmed in before. We will use this programming language to complete the assignments in this course.
(40%) 5 graded homework assignments.
(30%) An in class midterm exam.
(30%) An in class final exam.
No scores will be curved throughout the semester. Please use the following scoring tables:
All homework is to be turned in via your private Git repository.
This course has a slack channel. Please join via the email sent out to you.
All course discussion and announcements will take place on Slack. The only time Slack should not be used is when discussing grades. I will not respond to questions via email unless they are grade specific.
Slack Rules:
Attendance is optional, but highly encouraged.
Professors like students have many duties and commitments, and so to be better prepared to help the students outside of class I have the following office rules that must be adhered to:
If a student comes to my office unannounced and the question takes longer than five minutes, then that student will be instructed to make an appointment or to come back during office hours.
Appointments are to be scheduled via slack and must contain the following:
Collaboration is important in all areas of study. So I recommend talking to other students for help. However, there is a rule that must be followed: while discussing homework solutions in a group of two or more no one is allowed to write anything down, and each student must prepare their solution in isolation.
The Augusta University faculty and administration believe that, for students to be prepared for career success, it is important for them not only to know the subject matter in their majors, but also to demonstrate professional, ethical, and responsible business and social behavior. Whether a person is interviewing for a job, participating in a business or academic social event, or attending class, there are some important characteristics of personal behavior that are expected by colleagues and administrators. In the business work environment, employees can be dismissed for behavior that is distracting or disruptive to other employees, customers, or administrators.
If the student has been absent for more than the equivalent of 10 percent of class time, regardless of cause, then the professor may withdraw the student from the class for excessive absences. It is important to note that the instructor may—or may not—withdraw a student from class based upon attendance. In any case, a student should not assume that the instructor has initiated the withdrawal form. A student not withdrawn from a course who stops attending class (or who never attends class) is subject to receiving a grade of WF or F for the course. Please reference the Class Attendance section of the Augusta University Student Manual for further details.
Each student is expected to attend class regularly, to arrive on time, and to remain until class is dismissed. Tardiness and leaving class early are disruptive for other students and the faculty and are behaviors that are not acceptable in a classroom or business setting. Students who do not arrive promptly or leave early may be noted as absent, at the faculty member’s discretion. Absences in excess of the maximum prescribed in the course syllabus may result in the faculty member’s withdrawing the student from the course.
Please review the Student Code of Conduct in the Augusta University Student Manual. It outlines your responsibilities as students and those of a faculty member to maintain the integrity of the learning environment. As outlined in the handbook, disorderly or distracting conduct may result in expulsion from the class. Moreover, any form of academic dishonesty will not be tolerated. Should you be caught cheating or plagiarizing the work of another the procedures as outlined in the handbook and catalog will be followed.
The classroom should be considered a place of business - academic business. Distracting behavior such as uninvited casual talk among students, use of cell phones and beepers, sleeping, or inappropriate behavior toward fellow students or faculty will not be tolerated any more than they would be in a business setting. Faculty have the right and the responsibility to maintain a classroom free of such distractions. Students who persist in such behavior may be asked to leave the class and may be counted absent for the session. Persistent disruptive behavior may result in the faculty member’s withdrawing the student from the course.
Students with disabilities must contact the Office of Testing and Disability Services (706-737-1469) before the start of the semester. If you require special accommodation, the office will send a classroom accommodation form to affected faculty. Should you require special accommodations, please contact me at the beginning of the semester to determine how they will be implemented. Please reference the Testing and Disability Services section of the Augusta University Student Manual for further details.
In an academic community, honesty and integrity must prevail if the work done and the honors awarded are to receive their respect. The erosion of honesty is the academic community’s ultimate loss. The responsibility for the practice and preservation of honesty must be equally assumed by all of its members. Any type of dishonesty in securing those credentials therefore invites serious sanctions, up to and including, a WF in the course, and expulsion from the institution. Examples of dishonesty include actual or attempted cheating, plagiarism, or knowingly furnishing false information to any university employee. Please reference the Academic Honesty section of the Augusta University Student Manual for further details and specific definitions of cheating and plagiarism.
Unethical behavior of students in any form is not acceptable and will not be tolerated. Academic dishonesty (see definitions in the following sections) - cheating on exams, plagiarism of the work of others, unapproved collaboration on graded work, and the like - will be dealt with immediately and with clear consequences. Depending on the nature and severity of the problem, a student who is guilty of any such violation may be: 1) withdrawn from the course with a grade of WF (counted as an F in the GPA); 2) given a grade of zero on the assignment; 3) given a grade of F in the course; or 4) otherwise penalized, at the discretion of the faculty member. Two occurrences of a WF grade for academic dishonesty will result in a student’s being expelled from the University, per current University policy as described in the University Catalog.
Any student who believes that he or she has been treated unfairly under these guidelines should first address the matter with the faculty member responsible for the class. If the problem is not resolved, the student may meet with the Dean or follow procedures outlined in the Academic Grievance Policy section of the Augusta University Student Manual.
The USG guidance on House Bill 280, commonly known as the “campus carry” legislation, effective as of July 1, 2017 – http://www.usg.edu/hb280,
Any attempt to present intentionally the work or knowledge of others as your own on a graded test or assignment constitutes academic dishonesty. The following illustrations do not include every possible variation of academic dishonesty, but they are examples of the kinds of infractions that will be considered academic dishonesty violations. If you have questions about academic dishonesty, please ask any faculty member or any administrator in the School of Computer and Cyber Sciences. It is your responsibility to recognize and avoid initiating or contributing to academically dishonest behavior.
Closed-book, closed-notes tests. The use of any materials except those provided by the faculty member or provided for in test instructions is considered cheating. The use of prepared notes, electronic aids, assistance from others, or the use of any information obtained from others (with or without their permission) during the test is considered cheating.
Open-book, open-notes tests. Assistance from others or the use of any information obtained from others (with or without their permission) during the test, without the permission of the instructor, is considered cheating.
Independent projects or papers. If the faculty member’s instructions require independent, unassisted work on a project or paper, no portion of the assignment may be prepared by anyone else. Having any part of the assignment prepared by someone else, or in collaboration with someone else, is considered cheating unless the instructor’s instructions specifically call for such collaboration.
Assisting others with test information. Because many courses are taught at multiple times, it is important that students in one section of a course not provide information about a test to any student in another section who will take the same or a similar test at a later time. To do so will be considered cheating.
Failure to give credit to others. On individual and group assignments – projects, papers, presentations, research studies, and the like – no portion of the work may contain quotations of or paraphrasing (rewording) of the work of others unless each such reference is clearly identified with an appropriate footnote or bibliographical reference to the original source and author. To not give credit to others in each such instance is to present the work of others as if you had written it yourself. That is considered plagiarism. Style manuals (such as the American Psychological Association manual) provide guidelines for footnoting, quotations, and other means of giving credit for the work of others. Your instructor may prefer some particular style. If no guidelines are provided, it is your responsibility to use a standard style or ask the faculty member for guidance.
Ghost writing. It should go without saying that having someone else write some or all of a paper or do a project for which you are individually responsible constitutes academic dishonesty. Whether the author is a friend, a paid writer, or a person who offers such services on a web site, the result is an intention to present someone else’s work as your own and will be treated as an academic dishonesty infraction.
The Reese Library’s Cyber Resource Center: http://guides.augusta.edu/friendly.php?s=cyber.