DEPARTMENT OF COMPUTING

CS 1400: Fundamentals of Programming

Spring 2022 Syllabus

Introductory course for students in Computer Science and Computer and Information Technologies programs or having general interest in computer programming. This course will instruct students in structured programming techniques and teach the syntax of a suitable high level programming language. Students will be required to complete programming projects of increasing difficulty.

Prerequisites

CS 1030 (Grade C- or higher); OR MATH 1010 or higher MATH course (Grade C- or higher); OR ACT math score of 23 or higher or equivalent placement score within two years of enrollment in this course.

Fees

Computer lab fee: $20, used to assist in maintaining computing infrastructure.

Instructors

See individual instructor pages for email, office location, and office hours.

Sections

CRN Meeting Times Room Instructor Final Exam
20300 MWF 9:00-9:50 AM Smith 113 Nielson Wed May 4th 9-10:50 AM
20989 TR 9:00-10:15 AM Smith 113 Nielson Tues May 3rd 9-10:50 AM
20988 TR 10:30-11:45 AM Smith 113 Nielson Thur May 5th 9-10:50 AM
20161 TR 1:30-2:45 PM Smith 109 Carol Stander Tues May 3rd 1:00-2:50 PM

Course Requirements

Texts

There is no required textbook for this course. There are good textbooks available, however, and you may find it helpful to consult one. We recommend:

Prerequisite Technology Skills

You need to know how to navigate the file system on your computer, install software, use the keyboard (if you don’t have good typing skills plan on extra time to write assignments).

Computers

You are required to bring a laptop to class every day with a charged, working battery. Any laptop is okay as long as it runs Windows 10, macOS, or Linux, and is connected to the university WiFi system. Chromebooks, iPads, and other tablets are NOT acceptable unless they run one of the three listed operating systems. You will be expected to complete work in class on a laptop that cannot be made up outside of class.

A limited number of laptops are available for students to check out for class in the event that your laptop is unavailable or you are unable to acquire a suitable machine. You should only rely on this option as a last resort.

You may use the computers in the Smith open computer lab. There will also be lab assistants in this lab.

These computers require a valid CIT username and password. If you have not activiated your CIT login, visit http://cit.dixie.edu/facilities/passwd/passwd.php to activate it, or ask a lab assistant to help you sign up for one.

Course Website

This course is managed through Canvas. You are responsible for announcements, the schedule, and other resources posted there.

Course learning outcomes

1) By the end of this course, you will be able to… Achievement of this outcome is measured through…
1) Read and write small computer programs [CS/SE/IT PLO #1 #2] Programming Drills, Projects, and Practical Exams
2) Use language components such as variables, conditionals, and lists.[CS/SE/IT PLO #1] Programming Drills, Projects, Exams, and Quizzes
3) Decompose small problems. [CS/SE/IT PLO #1] Programming Drills, Projects, Exams, and Quizzes

Assignments and Exams

Schedule

For important University-wide dates see: https://calendar.dixie.edu/

Week Topic
1 Course Setup and Introduction
2 Programming Building Blocks
3 Strings and Calling Functions
4 Defining Functions and Unit Tests
5 Scope and Functional Decomposition
6 Exam 1
7 Conditionals, Lists
8 More Lists and For-Loops
9 For-Loop Patterns, Mutability
10 Exam 2
11 Dictionaries
12 Nested Data and While Loops
13 Files and Modules
14 Final Project
15 Review

Reading

No textbook is required for this class. Materials will be provided through Canvas.

An optional textbook (mentioned above) will help you better understand the material taught. Use of this book is recommended. There are several other suggested reading materials on the course website.

Assignments

Most weeks will require a homework assignment to be completed. These will be programs that you create outside of class. You will either pass these off with a lab assistant or your instructor. This programs will be graded on correct functionality. Incorrect programs will not receive credit.

It is important that you start early and get each of your assignments done before its due date. Many problems will take much longer to solve in a single sitting than in many shorter sessions. Give yourself time to think; sleep on difficult problems. Finish early so you can go back and refine your initial approach.

Assignments are due on the date listed in the schedule, and must be passed off to the instructor or a lab assistant for the course. This means that you must reserve time to pass it off at a suitable time before the end of the day it is due.

Drills and Quizzes

A set of drills and quizzes will be required to be completed every week. These will be small programs that accomplish simple tasks. We will be using the Code Grinder system to complete these tasks. Most drills are quick, but each set will have many drills, so start early and complete them all. These will be graded automatically.

Class Participation

You will be required to actively participate in class lectures and discussions. Activities in class will contribute to your grade, and cannot be made up outside of class. Your instructor will explain how to be an active participant.

Exams

There will be two exams and a comprehensive final exam. The exams will consist of questions similar to the quizzes.

Grading

Your course point total will be calculated using:

Activity Contributes
Programming Problem Sets 20%
Projects 20%
Supplementary Activities 5%
Mastery quizzes 10%
Exam 1 10%
Exam 2 10%
Final Exam 25%

Your final grade will be calculated using this scale:

Minimum Percentage Letter Grade
93 A
90 A-
87 B+
83 B
80 B-
77 C+
73 C
70 C-
67 D+
63 D
60 D-
0 F

Course Policies

Distractions in class

Electronics—including laptops—in class have been demonstrated to have a negative impact on student learning (see Shriram Krishnamurthi’s writeup for background This class has a NO DISTRACTIONS policy, with a few exceptions:

  1. When I ask you to use your laptop (or phone) for a specific activity in class. In this case you are permitted to use it for the duration of the activity, but but not during the rest of the class.
  2. If you need a laptop to accommodate a disability. If this is the case, please talk to me in advance and please visit the Disability Resource Center to document your need. To help other students in the class, please sit near one of the edges so your laptop does not distract other students more than necessary.

This policy extends to phones, tablets, and other electronic devices. I encourage you to pay full attention to class and take notes on paper.

Attendance

Students are responsible for material covered and announcements made in class. School-related absences may be made up only if prior arrangements are made. The schedule in Canvas is approximate. The instructor reserves the right to modify the schedule according to class needs. Changes will be announced in class and posted to Canvas. Exams and quizzes cannot be made up unless arrangements are made prior to the scheduled time.

Time Commitment

Courses should require about 3 hours of work per credit hour of class. This class will require about 135 hours of work on the part of the student to achieve a passing grade, which is approximately 9 hours per week. If you do not have the time to spend on this course, you should probably rethink your schedule.

Late work

Assignments and drills are due on the date specified in the schedule.

Late work will be subject to penalties as determined by the individual instructor. This may include receiving zero credit.

Work including quizzes can only be made up if arrangements are made in advance.

Cheating and Collaboration

Limited collaboration with other students in the course is permitted. Students may seek help learning concepts and developing programming skills from whatever sources they have available, and are encouraged to do so. Collaboration on assignments, however, must be confined to course instructors, lab assistants, and other students in the course. Students are free to discuss strategies for solving programming assignments with each other, but this must not extend to the level of programming code. Each student must code his/her own solution to each assignment. See the section on cheating.

Cheating will not be tolerated, and will result in a failing grade for the students involved as well as possible disciplinary action from the college. Cheating includes, but is not limited to, turning in homework assignments that are not the student’s own work. It is okay to seek help from others and from reference materials, but only if you learn the material. As a general rule, if you cannot delete your assignment, start over, and re-create it successfully without further help, then your homework is not considered your own work.

You are encouraged to work in groups while studying for tests, discussing class lectures, discussing algorithms for homework solutions, and helping each other identify errors in your homework solutions. If you are unsure if collaboration is appropriate, contact the instructor. Also, note exactly what you did. If your actions are determined to be inappropriate, the response will be much more favorable if you are honest and complete in your disclosure.

Where collaboration is permitted, each student must still create and type in his/her own solution. Any kind of copying and pasting is not okay. If you need help understanding concepts, get it from the instructor or fellow classmates, but never copy another’s code or written work, either electronically or visually. The line between collaborating and cheating is generally one of language: talking about solutions in English or other natural languages is usually okay, while discussions that take place in programming languages are usually not okay. It is a good idea to wait at least 30 minutes after any discussion to start your independent write-up. This will help you commit what you have learned to long-term memory as well as help to avoid crossing the line to cheating.

DSU Support & Policies

See https://academics.dixie.edu/syllabus/ for comprehensive information on the Semester Dates, the Final Exam Schedule, University resources such as the library, Disability Resource Center, IT Student Help Desk, Online Writing Lab, Testing Center, Tutoring Center, Wellness Center and Writing Center. In addition, please review DSU policies and statements with regards to Academic Integrity, Disruptive Behavior and Absences related to university functions.

Helpful Links

Name Service
Academic Advisement Helps students make decisions about their courses and degree path.
Academic Performance and Tutoring Center Offers one-on-one tutoring, study hall, and online tutoring to help students in many subjects ranging from Math to Foreign Language.
Career Services Assists students with career exploration, choosing a major, writing a resume, and getting a job.
Disability Resource Center Serves students with disabilities by providing equal access to academic programs, non-academic activities, and campus facilities
DRC Accessibility A list of DRC services including exam accommodations, ASL interpreting, materials in alternative format, and more.
Health and Counseling Center Provides acute health care, referral services, health education, and brief mental health services.
Help Desk Provides assistance for Canvas, Dmail, Student Services, Trailblazers wireless configuration, laptop assistance, and any other technical troubleshooting you may need help with.
Library Provides the resources necessary to facilitate research and enhance university curriculum and programs.
Multicultural and Inclusion Center Increases diversity through scholarship opportunities, community outreach, academic advisement, and diversity club participation.
Student Life The Dixie State University Student Association (DSUSA) offers a variety of ways to get involved socially at the university.
Student Support Services Provides a variety of free services to help first-generation, low-income, or students with disabilities to complete an associate degree and move on to a bachelor degree.
Testing Center Provides all proctored exams on campus and can make accommodations for remotely proctored exams.
Writing Center Offers students personalized attention from tutors for writing.

Privacy

It is your responsibility to protect your data and privacy online. Be careful and use discretion when using any of the course technologies to complete required learning activities. If you are unsure about how to protect your data and privacy online, please use the resources provided to understand your responsibility.

DSU Policies

Disability Statement

DSU strive to make learning materials and experiences accessible for all students so If you are a student with a medical, psychological, or learning disability or anticipate physical or academic barriers based on disability, you are welcome to let me know so we can discuss options. Students with documented disabilities are required to contact the Disability Resource Center located in the North Plaza Building, Next to the Testing Center (435-652-7516) to explore eligibility process and reasonable accommoda- tions related to disability.

Title IX Statement

DSU seeks to provide an environment that is free of bias, discrimination, and harassment. If you have been the victim of sexual harassment/misconduct/assault we encourage you to report this to the college’s Title IX Director, (435) 652-7731, titleix@dixie.edu. If you report to a faculty member, she or he must notify the Title IX Director about the basic facts of the incident.

Dmail Disclaimer

You are required to frequently check your Dmail account. Important class and university information will be sent to your Dmail account, including DSU bills, nancial aid/scholarship notices, notices of cancelled classes, reminders of important dates and deadlines, and other information critical to your success at DSU and in your courses. To access your Dmail account, visit dmail.dixie.edu. Your Dmail username is your DixieID (e.g., D00111111) If you have forgotten your PIN, visit my.dixie.edu and click the Forgot Pin button.

Non-Student

Non-student in the classroom and other designated study areas: It is expected that only bona fide students as defined and classified by the Dixie State University catalog, will attend classes, unless specific prior permission for guests has been obtained from the instructor.

Academic Guidelines Regarding Covid-19

For DSU’s up-to-date COVID-19 Emergency Response Plan, please visit the university website.

Last Updated 01/04/2022