CMSE 802: Methods in Computational Modeling
Fall 2024#

Table of Contents#

1. Instructional team & resources#

Names

Affiliation

Email

Office hours

Office location

Luciano G. Silvestri, Instructor

CMSE

silves28@msu.edu

By appointment

ENG 2502

Zhiyuan She, TA

CMSE

shezhiyu@msu.edu

TBD

TBD

2. Is this the right course for you?#

This course will use the Python programming language extensively and you should have a programming skill level similar to students finishing courses such as CMSE 201, CMSE 801, or equivalent. You should be familiar with defining variables, basic mathematical operations, control loops, conditional and logical statements, input/output, and error handling using Python. If not, you will not have sufficient background and should take CMSE 801 instead.

On the other end of the spectrum, this course aims to introduce basic concepts in computational modeling and is a survey of commonly used approaches without in depth looks. If you already have the background and/or are interested in diving deeper in any of the topic introduced, this will not be a good course for you. You may consider special topic courses offered by CMSE, CSE, STT, or MTH.

3. Synopsis#

Course goal and pedagogical approaches#

Computational science uses computers to solve problems, simulate phenomena, and turn data into knowledge. The goal of this course is to:

Further your abilities to use data and computing to solve scientific problems related to your research — regardless of your domain area.

Learning objectives#

By the end of this course, you should be able to:

  • Produce programming codes that are findable, accessible, interoperable, reusable (the FAIR principle).

  • Explain/evaluate computational modeling methods and apply them in your research.

  • Identify, analyze, and apply existing techniques/software to solve scientific problems.

  • Choose appropriate algorithms and data types and break down problems into manageable components.

  • Interpret the findings and communicate the results both verbally and in writing.

  • Communicate your goals, issues, and knowledge with others effectively.

  • Learn from, mentor, and collaborate with others effectively.

Primary topics#

  • Overview of computational methods

  • Individual computational methods such as ordinary differential equations, statistical and machine learning, and language modeling.

  • Software development tools and techniques such as version control, package management, automatic documentation, programming standards, unit testing and delinting.

  • Example use of computational methods in a variety of scientific and engineering domains.

Pedagogical approaches#

  • Experiential learning: This is a hands-on course focusing on learning by doing with computational science topics.

  • Flipped classroom: You will learn about some of the background materials prior to the class.

  • Group learning: You will work in teams to write software, solve problems, and engage in discussion, presentation, and other types of exercises in class throughout the semester.

  • Project-based learning: You will work individually with the instruction team to come up with and resolve specific problems related to your research areas that can be addressed with computational science techniques. You will also present your work to demonstrate what you have learned in the form of example codes and training materials.

4. Course format#

Course components and assessment#

Pre-class assignments: We will assign short assignments that are due prior to class. The purpose of these assignments is to introduced new material and prepare so that we can focus on experimentation and implementation in class. These assignments will typically consist of one or more short videos or reading assignments and related questions or problems and will be due before class via the course’s Desire2Learn page. The deadline for each pre-class assignment is indicated on the course’s Desire2Learn page and/or on the assignment notebook. Completing these assignments will be critical for your success in this course. The assignments might be graded by a computer system or AI as such it is very important to follow the instructions in the assignments. Not following the instructions will result in a reduction of the grade. The percentage reduction at the instructor’s discretion. The assignments are due at 5 pm the day before class. The assignments need to be submitted by the deadline for full credit. A 24 hrs grace period is permitted to turn in work at a penalty.

In-class programming assignments: Class sessions will be held twice a week and will be broken up into presentations, discussions, and programming activities that will allow you to immediately implement (and get instant feedback on) what you have just learned. In-class programming activities will be turned in at the end of the class session (or otherwise specified on D2L) via the course’s Desire2Learn page. In-class assignments are mainly graded based on effort and participation. This means that active participation and attendance are part of the grade. The assignments might be graded by a computer system or AI as such it is very important to follow the instructions in the assignments. Not following the instructions will result in a reduction of the grade. The percentage reduction at the instructor’s discretion. The assignments are due at the end of class or at the end of the day. The assignments need to be submitted by the deadline for full credit. A 24 hrs grace period is permitted to turn in work at a penalty.**

Reports/Homework: You will have periodic programming assignments that are meant to help you work towards your final project. On the first homework you will choose the topic of your final project and you are not allowed to change the topic for the rest of the semester. A topic change can only be approved by the instructor and it will require the submission of all the homework. For example, you decide to change your topic when HW 3 is due, if the instructor agrees to the change, you will have to resubmit HW 1 - 2 with the new topic, otherwise HW 1 and HW 2 will count as 0 (Zero). Homeworks will be pursued individually, and will be turned in by the given deadline via the course’s Desire2Learn page. You can expect that they will require two week’s worth of out-of-class effort, so you are encouraged to start your assignments as early as possible. The assignments might be graded by a computer system or AI as such it is very important to follow the instructions in the assignments. Not following the instructions will result in a reduction of the grade. The percentage reduction at the instructor’s discretion.

Homework assignments that are submitted late will be accepted for up to two days beyond the due date (i.e., 48 hours past the original deadline). If the assignment is submitted within 24 hours of the original deadline, there is a 10% penalty. This applies even if the assignment is 1 minute late. Similarly, if it is submitted in the 24-48 hour window, a 20% deduction is applied. Again, after the 48th hour, the assignment will no longer be accepted.

Midterm exam: This class does not have a midterm exam.

Final project: In place of a final exam, this course will have a final project related to your research and that is relevant to class material. You will complete it individually outside the classroom. Your project must include references to all work used to complete your project. The project can be on a topic of your choosing and, if possible, should be related to your research. You will be expected to submit a project proposal to the instructor for approval. You will develop your project across the entire semester and your final grade is determined by not only the final presentation but the steps you take toward that final goal. More details will be made available as the semester progresses.

Grade information#

Attendance is mandatory. Because of the flipped nature of a project-based coding course, it is not possible to be successful if you are not present. There are a variety of course activities, with percentage of total grade listed. More detailed descriptions of each activity can be found elsewhere in the syllabus.

Grade Breakdown#

Activity

% grade

Pre-Class Assignments

35

In-class Assignments/Participation/Attendance

40

Reports/Homework

15

Final project

10

Total:

100%

Grading Scale#

At the end of the semester, your grade will be calculated using the following scale:

Grade

Percentage Range

4.0

[90, 100]

3.5

[85, 90)

3.0

[80, 85)

2.5

[75, 80)

2.0

[70, 75)

1.5

[65, 70)

1.0

[60, 65)

Note: grades will not be curved - your grade is based on your own effort and progress, not on competition with your classmates. The instructor will not change your final grade without a valid reason. Submitting late work in order to make-up or improve your grade is not allowed.

Required materials#

  • A laptop computer with a reliable internet connection and functional webcam, microphone, and speakers. If you do not have one, let the instructional team know ASAP.

  • You are expected to have access to Microsoft Teams.

  • The details regarding the software needed for this course are provided in the “Software Setup Guide” which will be provided to you by your instructor.

  • This class has no required book or course pack. From time to time, we will direct you toward online resources, but the main materials will be lecture notes and software.

5. Course Policies and Expectations#

Attendance#

This class is heavily based on material presented and worked on in class, and it is critical that you attend and participate fully every week! Therefore, class attendance is absolutely required. An unexcused absence will result in zero points for the day, which includes the in-class programming assignment points. Arriving late or leaving early without prior arrangement with the instructor of your session counts as an unexcused absence. Note that if you have a legitimate reason to miss class (such as job interviews or work-related travel) you must arrange this ahead of time to be excused from class. Three unexcused absences will result in the reduction of your grade by one step (e.g., from 4.0 to 3.5), with additional absences reducing your grade further at the discretion of the course instructor.

Communication#

Course website and calendar: This course uses a Desire2Learn page for course organization. All assignments will be handed in via Desire2Learn. consult the class website for instructions.

Email: At times, we will send out important course information via email. This email is sent to your MSU email address (the one that ends in “@msu.edu”). You are responsible for all information sent out to your University email account, and for checking this account on a regular (daily) basis.

Class discussion: We will be using Teams as our means of communicating about course content as the semester progresses. We believe that this will provide an excellent avenue to have discussions not only with course instructors, TAs, but also between you and your fellow classmates.

The Teams channels will be the place to go for any questions about assignments in the course. We encourage you to help out other classmates when you can!

In order to ensure that Teams is an appropriately used tool that does not become overly time-consuming for the course instructors, TA, we have a list of rules for how we expect you to use Teams. They are:

  1. Before you ask a question, be sure to check the main help channel and other section channels to see if the question has already been answered.

  2. The Teams group is primarily for you, the students, so help each other.

  3. The Instructor will monitor the channels, but will defer to the students to work through things. They will only enter a conversation if students are going down the wrong path and/or there are too few other students involved. However, you should not expect that the Instructor will always be available. The Instructor will spend a limited amount of time “logged in” to Teams and we ask that you be respectful of their time.

  4. Teams is meant to be used to help you when you are stuck with a minor issue. If you are having major issues or trouble understanding the concept, go to office hours or help room hours as they are meant for more in-depth discussions of course content.

  5. Course instructors will rarely check Teams, only to examine progress. While they may offer help, do not rely on it. Instructors will not respond to the same student twice within a 30 minute time interval.

  6. Only in rare cases should you contact an instructor through a private channel. But, if you are struggling, feel free to use this option.

  7. Do not post your solutions to out-of-class assignments directly into Teams unless prompted by an instructor.

  8. Be courteous to everyone on Teams. Students who are being rude or who are excessively posting might be banned from posting on the course Teams channel.

Inclusive classroom behavior#

Respectful and responsible behavior is always expected which include:

  • Respectful of each other in the classroom,

  • Allowing others to speak without interruption,

  • Using constructive and helpful language in discussion,

  • Refraining from using any non-course-related materials, software, communication device during class sessions,

We welcome a full spectrum of experiences, viewpoints, and intellectual approaches because they enrich the conversation, even as they challenge us to think differently and grow. However, expressions and actions that demean individuals or groups compromise the environment for intellectual growth and undermine the social fabric on which the community is based. These demeaning behaviors are not welcome in this classroom.

Flagrant or repeated violations of this expectation may result in ejection from the classroom, grade-related penalties, and/or involvement of the university Ombudsperson. In particular, behaviors that could be considered discriminatory or harassing, or unwanted sexual attention, will not be tolerated and will be immediately reported to the appropriate MSU office (which may include the MSU Police Department.)

Article 2.III.B.4 of the Student Rights and Responsibilities (SRR) for students at Michigan State University states: “The student’s behavior in the classroom shall be conducive to the teaching and learning process for all concerned.” Article 2.III.B.10 of the SRR states that “The student and the faculty share the responsibility for maintaining professional relationships based on mutual trust and civility.” General Student Regulation 5.02 states: “No student shall … interfere with the functions and services of the University (for example, but not limited to, classes …) such that the function or service is obstructed or disrupted. Students whose conduct adversely affects the learning environment in this classroom may be subject to disciplinary action through the Student Judicial Affairs office.

Accommodations for Students with Disabilities#

We are committed to providing equal opportunity for participation in all programs, services and activities. Requests for accommodations by persons with disabilities may be made by contacting the Resource Center for Persons with Disabilities at 517-884-RCPD or on the web at rcpd.msu.edu. Once your eligibility for accommodation has been determined, you will be issued a Verified Individual Services Accommodation (“VISA”) form. Please present this form to the instructor at the start of the term and/or two weeks prior to the accommodation date (test, project, etc.). Requests received after this date may not be honored.

Academic honesty#

Intellectual integrity is the foundation of scientific enterprise. In all instances, you must do your own work and give proper credit to all sources that you use in your papers and oral presentations – any instance of submitting another person’s work, ideas, or wording as your own counts as plagiarism. This includes failing to cite any direct quotations in your essays, research paper, class debate, or written presentation. The MSU College of Engineering adheres to the policies of academic honesty as specified in the General Student Regulations 1.0, Protection of Scholarship and Grades, and in the all-University statement on Integrity of Scholarship and Grades, which are included in Spartan Life: Student Handbook and Resource Guide. Students who plagiarize will receive a 0.0 in the course. In addition, University policy requires that any cheating offense, regardless of the magnitude of the infraction or punishment decided upon by the professor, be reported immediately to the dean of the student’s college. (See also the Academic Integrity webpage.)

It is important to note that plagiarism in the context of this course includes, but is not limited to, directly copying another student’s solutions to assignments; copying materials from online sources, textbooks, or other reference materials without citing those references in your source code or documentation or having somebody else do your in-class work or homework on your behalf. Any work that is done in collaboration with other students should state this explicitly and have their names as well as yours listed clearly.

More broadly, we ask that students adhere to the Spartan Code of Honor academic pledge, as written by the Associated Students of Michigan State University (ASMSU):

“As a Spartan, I will strive to uphold values of the highest ethical standard. I will practice honesty in my work, foster honesty in my peers, and take pride in knowing that honor is worth more than grades. I will carry these values beyond my time as a student at Michigan State University, continuing the endeavor to build personal integrity in all that I do.”

Limits to confidentiality#

Essays, journals, and other materials submitted for this class are generally considered confidential pursuant to the University’s student record policies. However, students should be aware that University employees, including instructors, may not be able to maintain confidentiality when it conflicts with their responsibility to report certain issues to protect the health and safety of MSU community members and others. As the instructor, I must report the following information to other University offices (including the Department of Police and Public Safety) if you share it with me: suspected child abuse/neglect, even if this maltreatment happened when you were a child, allegations of sexual assault or sexual harassment when they involve MSU students, faculty, or staff, and credible threats of harm to oneself or to others. These reports may trigger contact from a campus official who will want to talk with you about the incident that you have shared. In almost all cases, it will be your decision whether you wish to speak with that individual. If you would like to talk about these events in a more confidential setting you are encouraged to make an appointment with the MSU Counseling Center.

Drops and Adds#

Please check MSU Academic Calendar for important date on last day to add, drop, and others. You should immediately make a copy of your amended schedule to verify you have added or dropped this course.

Commercialized Lecture Notes#

All lectures, videos and notes provided in this course are copyrighted by the university. Recording of lectures and/or commercialization of other university-provided course materials is not permitted.

Grief Absence Policy#

Michigan State University is committed to ensuring that the bereavement process of a student who loses a family member during a semester does not put the student at an academic disadvantage in their classes. If you require a grief absence, you should complete the Grief Absence Request web form no later than one week after knowledge of the circumstance. The instruction team will work with you to make appropriate accommodations so that you are not penalized due to a verified grief absence.