CSCI305.github.io

CSCI 305: Programming Languages

Spring Semester 2018


   
Class meeting time: MWF 0800–0850, Roberts 101
Instructor: Isaac Griffith
Contact: isaac.griffith@msu.montana.edu
Office Hours: TR, 1030–1200
Office Location: Barnard Hall Room 345
Final Exam: May 2, 2018 from 08:00 to 09:50 in Roberts 101

Required Textbook

Modern Programming Languages, A.B. Webber, Franklin Beedle and Associates Inc.

Optional Textbook

Concepts of Programming Languages (11th Edition), R.W. Sebasta, Pearson

Pre-requisites

Course Description

This course is an examination of the constructs of programming languages, the four major programming paradigms, and several programming languages, including their application and underlying execution models. The paradigms examined in this course include object-oriented, functional, and logical. Students will gain exposure to and experience in a variety of languages, including ML, Prolog, and Java. Several other languages will be briefly explored through a series of short lectures.

Course Graders

This course has two graders who will be handling the grading of all assignments:

If you have any issues with grades do not contact either of the graders, but rather contact your instructor.

Course Objectives

At the end of this course, the student will be able to:

What this Course is and is Not

This is a computer science course focusing on the underlying concepts and ideas of programming languages and language design. This discourse herein and discussions within the course will be limited to the subjects pertaining to this overarching topic. Other topics of conversation and discussion (i.e., politics, religion, culture, etc.) not directly related to these topics are outside this domain and will be considered a distraction. Although these topics are important and should be discussed, this class is not the place for such discussions, let us focus simply on the topic at hand.

Instruction

This course will be taught using the following methods:

Instructor Expectations of Students

Flipped Classroom Policy

Grading Policy

Grades will be based on participation, seven homeworks, four programming labs, a midterm exam, and a final exam. Note that exams are worth 50% of your grade, you must average 50% on the exams in order to pass the course, failure to meet this requirement will result in a failure the course. The course will be broken down as follows:

Event Name Percentage
(6) Homeworks 20% (Equally Weighted)
(4) Programming Labs 30% (Equally Weighted)
Midterm Exam 25%
Final Exam 25%

Grading Scale

The following grading scale will be used on all graded assignments and exams.

Attendance and Participation

Class attendance is expected and participation is encouraged, such that the effectiveness of the flipped classroom can be maximized. Thus the following policies will be in effect for this course:

Students with Disabilities

A student who desires accommodation for a disability must submit appropriate documentation of the disability and request for accommodations to The Office of Disability, Re-Entry, and Veteran’s Services Room 155 Strand Union Building, (406) 994-2824.

Academic Integrity

Honesty and integrity is expected in all class work. Although I have the highest belief in the integrity of all of our students, I am obligate both by procedure as well as past incidents, the following:

The standards set by Montana State University’s academic integrity and student conduct guidelines apply to this class. Academic misconduct is unacceptable. It is the responsibility of all students to adhere to strict standards of integrity in their professional and scholarly activities. Misconduct will be treated swiftly and harshly.

It is a breach of academic integrity to present the ideas or works of another as one’s own work, or to permit another to present one’s work without customary and proper acknowledgement of authorship. Students may collaborate with other students only as expressly permitted by the instructor. Students are responsible for the honest completion and representation of their work, the appropriate citation of sources and the respect and recognition of other’s academic endeavors. According to Montana State University Conduct Guidelines and Grievance Procedures for Students, academic misconduct includes cheating, plagiarism, forgery, facilitation or aiding academic dishonesty; multiple submission, theft of instructional materials or tests; unauthorized access to, manipulation of or tampering with laboratory equipment, experiments, or computer programs, without proper authorization; alteration of grades or files; misuse of research data in reporting results; use of personal relationships to gain grades or favors, or otherwise attempting to obtain grades or credit through fraudulent means.

Succinctly put, I define a violation to Academic Integrity to include, but not limited to, the following:

Policy on Cell Phones, Laptops, and Tablets

Bringing your personal phones, tables or laptops to class is fine. I do require that you set your phones to at least silent/vibrate, and mute any sounds from either your tablet or laptop. Also refrain from replying or sending texts, social media, or phone calls during class, if you feel that you must do this then please leave the class and take care of it in the hallway. Furthermore, playing games in class will also not be tolerated. The distractions that each of these actions cause both for your classmates as well as for your instructor are taxing on the limited time we have. If you are found to be performing any of these actions you will be asked to leave the classroom for the day.


Last modified: December 27, 2017.