Published using Google Docs
CMSE802-F20-Syllabus
Updated automatically every 5 minutes

CMSE 802                Fall 2020

CMSE 802: Methods in Computational Modeling

Link to Syllabus Table of Contents

Course Description

Computational science uses computers to solve problems, simulate phenomena, and create knowledge. Over the course of this semester, we will explore various aspects of computational science.  We will learn standard modeling methods and tools, as well as advanced programming methods (in Python), code-management, and basic data science techniques. These techniques and skills will be applied to student’s own research.

This is a project-focused course with topics primarily driven by the research interests and needs of the students. Students will work with the instructors to come up with specific learning goals and objectives relating to using computational science techniques to solve problems related to their research area. All students will be expected to present their work to their peers with a final goal of distilling what they have learned in the form of example codes and training materials that can be shared with future students.

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

  1. Produce scientific programs in your area of research that are robust, modular, usable and repeatable.
  2. Evaluate computational modeling methods and Explain how these methods can be used in your area of research.
  3. Practice, identify and analyze appropriate pre-existing techniques, software packages and libraries to use in programs to solve scientific problems.
  4. Choose appropriate algorithms and data types to break down problems into manageable components.
  5. Explain the results from a scientific computational problem and present it both verbally and in writing.

We will work toward the goals expressed above throughout this course using a range of activities – primarily by writing software both individually and in small groups, but also through discussion, presentations, and other types of exercises.  

Topics Covered

The primary topics covered in this course include:

Please note that using data and computing to solve scientific problems related to your research (whether they are problems in the physical, life, or social sciences, or in engineering) is the driving principle of this course – everything else we teach you is in service to this goal.

Course Format and Activities

This course will be held synchronous online/hybrid with minimal planned in-person interaction.  This means that students are expected to attend class during the designated class period using a remote video conference connection (zoom).  

In order to respect student time, many required assignments will be conducted during class.  Time outside of class will primarily be reserved for course activities that relate directly to student’s research.  Therefore,  class participation (led both by the instructors and by students) is critical.  As such, you are expected to attend every class session, complete the pre-class assignments  and actively participate in the in-class discussion.

Key to student success in this course is making progress on a semester programming project (in Python) related to a student’s research.  To this end, students are required to turn in bi-weekly project milestones.  Completion of all of the bi-weekly milestones contribute to the final project grade.

Students are also required to submit bi-weekly reports about individual computational modeling methods.  These bi-weekly reports are due on the off weeks of the project milestones (in other words, something is due every friday).  In these reports students will describe how modeling methods could be used in their research area.

Assessment Information

There are a variety of course activities, with a base percentage of total grade listed.

Activity                        

Grade percentage

Pre-Class Assignments

10

In Class/Group Participation 

10

Bi-weekly Reports

25

Semester Project

55

Total:

100%

Grading scale

4.0        ≥ 90%  

3.5        ≥ 85%  

3.0        ≥ 80%  

2.5        ≥ 75%  

2.0        ≥ 70%  

1.5        ≥ 65%  

0.0        < 60%

Note: grades will not be competitively curved - your grade is based on your own effort and progress, not on competition with your classmates.

Logistical Information

Course Website and Links

This course the following web resources:

Accompanying course information, including the official course calendar, can be found at this website. All assignments are provided in the course git repository and turned in using a personal git repository.  Consult the course website for instructions.

Required materials for class

Although this course will be meeting virtually this semester, the “in-class” programming assignments are a critical part of the learning process in this course. To that end, you will need to ensure that you have the following:

If you do not have a sufficiently reliable internet connection to log into Zoom during the designated class times to participate in the virtual class sessions, you should notify your instructor immediately to determine how you can best participate in the course and successfully complete the required activities.

You are also expected to have a Slack account (https://slack.com/) and sign up for the CMSE Courses Slack workspace (https://cmse-courses.slack.com/). Details for doing so are outlined in later sections.

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.

Required Reading Materials

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.

Course Meeting Time and Location

Section 001 (Dr. Dirk Colbry) will meet on Tuesdays and Thursdays from 8:00-9:20 a.m. in the course zoom classroom:  https://msu.zoom.us/j/97272546850

In-person Activities

During the semester students will schedule periodic face-to-face activities to discuss, debug and code review of class projects.  Time and location of these activities will accommodate student’s varying schedules and needs.

Instructor Contact Information

Course Instructor:

Dr. Dirk Colbry (he/him)

Department of Computational Mathematics, Science and Engineering

Email: colbrydi@msu.edu 

Web:  http://www.dirk.colbry.com

Graduate Teaching Assistant:

        Ali Zare

Department of Computational Mathematics, Science and Engineering

        Email: zareali@msu.edu 

Instructor office hours and locations

Office hours and locations are as follows (or by appointment), and start on September 3:

When

Where

Dirk Colbry

T Th

9:20-10:30 a.m.

https://msu.zoom.us/j/97272546850

Ali Zare

M W

1:00-2:00pm.

https://msu.zoom.us/j/97272546850

Course Policies and Expectations

Class 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 participation is expected.   Portions of the in-class instruction may be recorded and provided on the website.  These videos are provided as a reference for students to review asynchronously and are not intended to replace attendance and participation.   If you are unable to attend class or complete assignments due to illness or self-isolation (as per the CDC recommended guidelines), your instructor will work to provide the necessary accommodations to ensure that your performance in class is not significantly impacted.

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 to your university email and for checking this account daily.

Inclusive classroom behavior

Respectful and responsible behavior is expected at all times, which includes not interrupting other students, refraining from non-course-related use of electronic devices or additional software during class sessions, and not using offensive or demeaning language in our discussions. 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).

In addition, MSU welcomes 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, we believe that expressions and actions that demean individuals or groups comprise 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.

Accommodations for Students with Disabilities

(from the Resource Center for Persons with Disabilities (RCPD): Michigan State University is 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 http://rcpd.msu.edu.  Once your eligibility for an 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 the 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

The last day to add this course is September 9, 2020 at 8:00pm. The last day to drop this course with a 100 percent refund and no grade reported is September 28, 2020, at 8:00pm. The last day to drop this course with no refund and no grade reported is October 21, 2020, at 8:00pm. You should immediately make a copy of your amended schedule to verify you have added or dropped this course.

Changes to Syllabus

The syllabus may also be adjusted if needed. These types of changes will be announced during class, by email and/or in the course’s Desire2Learn page.

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 in this course.

Disruptive Behavior

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.

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. I will work with you to make appropriate accommodations so that you are not penalized due to a verified grief absence.

MSU Community Compact for COVID-19:

During the Fall 2020 semester a set of requirements have been put in place to maximize the health and safety of all members of the MSU community. More details can be found on the MSU Community Compact website.

This class abides by all principles, guidelines, and requirements detailed in the MSU Community Compact. Specifically, when meeting in-person, all participants in the class will adhere to the following:

Face coverings

Face coverings must be worn by everyone (including all faculty, staff, students, vendors, and visitors) indoors and outdoors while on property owned or governed by MSU and while participating in MSU-related or MSU-sponsored activities. Thus, unless you are unable to tolerate a face covering for medical reasons you must wear a face covering inside and outside of class. This face covering must cover your mouth and nose.

Physical distancing

We will be practicing physical distancing in the classroom. Thus, all students should maintain at least six feet distance between themselves and others (excluding those with whom they live). This applies to all aspects of the classroom setting, including seating arrangements, informal conversations, and dialogue between faculty and students.

Personal Hygiene

All students must maintain proper hygiene and health practices, including:

Adherence to Signage and Instructions

Students will (a) look for instructional signs posted by MSU or public health authorities, (b) observe instructions from MSU or public health authorities that are emailed to my “msu.edu” account, and (c) follow those instructions.

Self-Monitoring

Students will self-monitor for flu-like symptoms (for example, cough, shortness of breath, difficulty breathing, fever, sore throat or loss of taste or smell). If a student experiences any flu-like symptoms, they will stay home and contact a health care provider to determine what steps should be taken.

Student illness and Exposure to COVID-19

If a student is exposed to someone who is ill or has tested positive for the COVID-19 virus, they will stay home, contact a health care provider and follow all public health recommendations.  There are multiple policies available to complete course work. Please talk to your instructors and review the university policies.

Instructor illness

In the event that the instructor gets ill, the course will continue.  Backup instructors have been identified and will step in.

Compliance and reporting

Those who come to MSU facilities must commit to the personal responsibility necessary for us to remain as safe as possible, including following the specific guidelines outlined in this syllabus and provided by MSU more broadly (see below). There may be times when action will be necessary to reinforce expectations. If you do not wear appropriate face coverings (see MSU’s guidelines), do not wear your face covering appropriately (i.e., over your mouth and nose), or do not adhere to physical distancing guidelines (i.e., six feet apart), you will be asked to correct the situation or leave the facility. In addition, MSU will utilize the processes already in place to respond to any issues of noncompliance with standards established for the health and safety of our community. For classroom disruptions or issues, the responses and processes that have been used previously remain the first line of action. If necessary, the student conduct system will be the avenue used to adjudicate student disciplinary situations.

Additional information

See keeping Spartans save website for details about these new policies and procedures and see cloth face covering fact sheet for more details about the cloth face coverings guidelines.***

Using this Course’s Python Setup

Instructions for downloading Anaconda (Python 3.x):

  1. Go to the Anaconda Download webpage: https://www.anaconda.com/downloads
  2. Pick your operating system.
  3. Download the Python 3.x version (64 bit recommended).
  4. Follow the directions at the bottom of the page to install Python on your specific operating system.
  5. Open the command line program on your computer
  1. Type “jupyter notebook” in the command line and hit enter

If everything goes correctly, a browser window should open up with the Jupyter interface running. If things don’t work, don’t worry; we will help you get started.

Instructions for connecting to the engineering JupyterHub server:

Every student enrolled in this class will be given an engineering computing account. If this is your first time using your Engineering account you will need to activate the account by going to the following website:

https://www.egr.msu.edu/decs/myaccount/?page=activate 

Enter your MSU NetID. The initial password will be your Apid with an @ on the end (example: A12345678@) and then they have to set a password that meets the requirements listed on the page. Verify the password. Then agree to the terms and Activate.

Once your account is activated you can access the classroom Jupyterhub server using the following instructions:

  1. Open up a web browser and go to the following URL: https://jupyterhub.egr.msu.edu 
  2. Type your engineering login name. This will be your MSU NetID.
  3. Your engineering password.

If everything is working properly you will see the main “Files” windows in the Jupyter interface.

Instructions for getting iPython notebook files into Jupyter:

iPython notebooks (also referred to as Jupyter notebooks) are files that end with the .ipynb extension.  We will give you these files for all of your assignments, you will edit them and turn in the edited files using the class Website.

You can download the ipynb assignment files from the class website (http://cmse.msu.edu/cmse802/) Once you have an ipynb file you can load it into Jupyter using the “upload” button on the main “Files” tab in the Jupyter web interface. Hitting this button will cause a file browser window to open. Just navigate to your ipynb file, select it and hit the open button.

Once you see your filename in the jupyter window you can just click on that name to start using that file.

Instructions for making a copy of iPython notebooks and turning them in:

When you are finished editing your iPython notebook and are ready to turn in the assignment you will need to download the ipynb file from the Jupyter interface.  

  1. With the notebook file open in Jupyter, go to the “File” menu, select the “Download as” menu option and then choose “iPython Notebook (.ipynb)”
  2. Pick a place to save the file (The desktop is a good choice).  
  3. Make sure you make  a copy of the .ipynb file for your own records.
  4. Go to the Desire 2 Learn course website and upload the .ipynb file into the assignment folder.

NOTE:  Video versions of these instructions are available on the CMSE YouTube Channel.

Syllabus Table of Contents

Course Description

Topics Covered

Course Format and Activities

Assessment Information

Logistical Information

Course Website and Links

Required materials for class

Required Reading Materials

Course Meeting Time and Location

In-person Activities

Instructor Contact Information

Instructor office hours and locations

Course Policies and Expectations

Class attendance

Email

Inclusive classroom behavior

Accommodations for Students with Disabilities

Academic honesty

Limits to confidentiality

Drops and Adds

Changes to Syllabus

Commercialized Lecture Notes

Disruptive Behavior

Grief Absence Policy

MSU Community Compact for COVID-19:

Face coverings

Physical distancing

Personal Hygiene

Adherence to Signage and Instructions

Self-Monitoring

Student illness and Exposure to COVID-19

Instructor illness

Compliance and reporting

Additional information

Using this Course’s Python Setup

Syllabus Table of Contents