DEPARTMENT OF COMPUTING
Course Home | Syllabus | Assignments | Examples | [print]

SD 6100: Fundamentals of Programming

Fall 2024 Syllabus

Course Description

Covers structured programming techniques, the syntax of a high-level programming language, and fundamental principles of front-end web development through completion of programming projects of increasing difficulty.

Prerequisites

Admission to the Master of Software Development program.

Disability/Accessibility Resources

Utah Tech welcomes all students and strives to make the learning experience accessible. If you are a student with a medical, psychological, or learning disability that may require accommodations for this course, you are encouraged to contact the Disability Resource Center (DRC) as soon as possible. You may request reasonable accommodations at any time during the semester; however, they are not retroactive. The DRC is located next door to the Testing Center in the North Plaza Building. 435.652.7516, drc@utahtech.edu, drcenter.utahtech.edu.

Title IX Statement

Utah Tech University affirms its commitment to the promotion of fairness and equity in all aspects of the educational institution. Harassment and discrimination—including sex/gender discrimination, gender identity, gender expression, sexual harassment, sexual misconduct, gender-based violence, dating violence, domestic violence, stalking, pregnancy or parental, family or marital status and/or retaliation—not only disrupts our commitment to maintaining an environment in which every member of the University community is treated with respect and dignity, but may also violate University policy and federal, state, and/or local law.

Should you or someone you know experience behavior that is coercive, discriminatory, harassing, and or sexually violent in nature, or if you or someone you know has questions about their rights and options regarding such behavior, you are encouraged to contact: Hazel Sainsbury, Dir. of Equity Compliance, Title IX Coordinator: 435.652.7747 (ext. 7747), Hazel.Sainsbury@utahtech.edu, TitleIX@utahtech.edu.

Incidents may also be reported directly to law enforcement, either separately or in conjunction with any report made to the University’s Title IX Coordinator, and the University will aid in making contact if requested. Utah Tech University Police: 435.275.4300 or by calling 9-1-1.

Maintaining a safe and inclusive University community is a shared responsibility. For more information on how Title IX protections can benefit you and help us keep a productive campus environment, visit titleix.utahtech.edu to learn more.

Sections

One section:

  1. Tuesdays at 4:30 pm–7:00 pm in Smith 117

    CRN: 43437

    Final exam: Tue, Dec 10 at 5:00 pm–6:50 pm

Instructor

Instructor: DJ Holt

Email: dj.holt@utahtech.edu

Office hours: see here

Objectives

At the successful conclusion of this course, students will be able to:

  1. Construct computer programs in a modern web development environment using standard tools.
  2. Develop solutions using a range of programming constructs, including variables, conditionals, control structures, functions, user input/output, and data collections.
  3. Demonstrate the use of correct syntax and semantics in a high-level programming language.
  4. Develop problem-solving skills specific to web development by working on real-world coding challenges and debugging exercises.
  5. Apply modern web markup, styling, and programming languages to design and create user-centered web interfaces.

Resources

Computers

To complete coursework, you must have access to a modern computer that runs Windows 10 or 11 (with Windows Subsystem for Linux), macOS, or Linux. Chromebooks, iPads, and other tablets are not suitable to complete required coursework. Recommended hardware specifications include at least 16GB of RAM and a solid-state drive.

This course may require several software components to be correctly installed and configured on your computer; instructions for this will be given in class throughout the semester.

All students attending class, either in person or remotely, must be able to periodically engage and interact directly with other students remotely using their personal computer. For this, your computer must be able to run the Zoom software and must be equipped with a high-definition camera and either earbuds or earphones with a high-quality microphone.

For students attending class in person, a limited number of MacBooks are available for students to check out during class if your laptop is not functioning correctly. These laptops are only available during scheduled class time.

Canvas

This course is managed through Canvas. You are responsible for announcements, dates and deadlines, grades, and other resources posted to the Canvas course.

GitHub

This course heavily utilizes Git and GitHub for assignments and exams. Students are required to maintain a free GitHub account throughout the semester. The course will teach the related processes and workflows necessary to complete and submit assignments.

Assignments and Exams

Reading

This course has no required text; however, students will be expected to reference online documentation and examples to assist with the completion of assignments. Additional reading resources can be recommended upon request.

Assignments

A series of programming exercises and projects will be assigned throughout the course. Assignments are due at 11:59pm on the date specified in Canvas. See below for the course late work policy.

Exams

A comprehensive final exam will be given at the end of the semester. Other exams and quizzes may also be assigned throughout the semester.

Grading

Your grade will be calculated using weights for the following categories: projects (65%), exercises (10%), exams and quizzes (25%).

Letter grades are assigned based on the percentage of possible points attained, according to the following chart:

Minimum Percentage Letter Grade Minimum Percentage Letter Grade Minimum Percentage Letter Grade Minimum Percentage Letter Grade
94 A 84 B 74 C 64 D
90 A- 80 B- 70 C- 60 D-
87 B+ 77 C+ 67 D+ 0 F

Course Policies

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 class schedule is approximate and the instructor reserves the right to modify the schedule according to class needs; changes will be announced in class. Exams, quizzes, and other in-class assignments cannot be made up unless prior arrangements are made. In-class quizzes and assignments may or may not be announced in advance.

Occasional absences are acceptable as long as the student maintains current progress on assignments; however, students who miss more than two consecutive weeks of class or who miss more than 20% of scheduled classes during the semester without making prior arrangements will receive a failing grade. Students who miss any scheduled exam or fail to complete a final project without making prior arrangements will receive a failing grade.

This course can only be completed by attending classes and completing all assigned work to a satisfactory level. There is no procedure for testing out of the class.

Remote Attendance

Students attending class remotely are expected to engage with the instructor and other students in the class just the same as a student attending class in person. To effectively allow for this, all remote students are required to have their camera turned on for the entire duration of every class session. Any student attending class without an active and reliable video connection will be considered absent. The only exception to this policy is temporary illness.

Likewise, no different than students attending class in person, remote students must be physically located in a quiet, well-lit environment that allows for engaged, disruption-free participation. Any remote noise, either audible or visual, impacts class as much as a disruption within the physical classroom.

All students, whether in the classroom physically or virtually, are expected to stay engaged, attentive, and interactive to promote a positive, active learning environment for everyone in the class. Everyone is expected to honor this course policy seriously.

Time Commitment

Courses should require about 45 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 Submission Policy

Assignments are due on the date specified in Canvas, for full credit. To earn credit for an assignment after the specified due date, the student may propose a replacement due date for an assignment on a case-by-case basis, subject to instructor approval. The request must be made prior to the original due date. A late penalty may be applied, or a request may not be approved, depending on the lateness of the proposed replacement due date as well as the student’s late submission history during the current semester. Late submissions will not be accepted outside this procedure, except under extenuating circumstances decided by the instructor, if prior arrangements are made with the instructor. No late submissions will be accepted after the last day of class, with absolutely no exceptions. Exams cannot be made up, unless arrangements are made with the instructor prior to the date of the exam. Any assignments that are completed during class cannot be made up and late submissions will not be accepted.

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

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.

University Resources

Additional academic resources for students provided by the University can be found at academics.utahtech.edu.

The official academic calendar with important dates and deadlines can be found at: calendar.utahtech.edu.

Last Updated 08/20/2024