Skip to content

prossini1/introcoding-spring-2019

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

layout title nav_order description permalink
default
Home
1
An introduction to scientific coding with python
/

Syllabus

Classroom 1017 Throckmorton Plant Science Center, Kansas State Uniersity. Semester Spring 2019.
Days Tuesdays and Thursdays from 2:30 to 3:45 PM.
Instructor: Andres Patrignani - Assistant Professor – TH1011A – [email protected]
Office hours: Open door. Send me an email if you prefer to schedule a meeting.

Course description

A hands-on introductory course on the fundamentals of modern high level programming languages for solving problems and generating reproducible research in plant and soil sciences.

Resource materials

  1. GitHub repository: https://github.com/andres-patrignani/introcoding-spring-2019
  2. Python official documentation: https://docs.python.org/3/
  3. Class notes and ipython notebooks.
  4. Anaconda package: https://www.anaconda.com/download

Objectives

Students who successfully complete this course should be able to:

  • construct effective, well documented, and error free scripts and functions.
  • use programming to their graduate thesis project.
  • find information independently for self-teaching and problem solving.

Topics

  • Installing Anaconda and review of included libraries and tools.
  • What is reproducible research? and why does it matter?
  • Writing first IPython notebook (Python, Markdown, and LaTeX)
  • Learning how to use Github
  • Import tabular data and deal with missing values using Pandas library
  • Create publication quality figures using Matplotlib and Bokeh
  • Descriptive statistics
  • Data structures
  • Array slicing and indexing
  • Element-wise operations using Numpy library
  • Control flow (if statements)
  • Iterations (for and while loops)
  • Create, use, and document functions
  • Debugging
  • Curve fitting
  • Image analysis
  • Mapping

Your responsibilities

Preparation: Read class notes, review class problems, and practice coding at home.

Classroom: I expect you to be punctual and to bring a laptop to follow coding exercises during class.

Lecture attendance: Attendance is not mandatory, but it's expected. Missing two or more classes will likely lead to poor performance in the course since many classes are linked to each other.

Teaching methods

I will include short lectures, live coding sessions, and puzzles. My objective is to present programming in a friendly way using a variety of methods so you can understand the logic to develop your own code.

Grades and policies

Quizzes: Each quiz will consist of questions and/or coding challenges related to concepts discussed in class. Quizzes will typically consist of finding mistakes in functions and scripts or solving a particular problem. The quiz with the lowest score will be dropped. There will be no make-up quizzes.

Semester project: Each student will need to draft and implement a project using the Python language. Projects are individual and students will need to give periodic progress updates. A one-page project description needs to be turned in during the first two weeks of class. Projects need to be discussed with, and be approved by, the instructor. For detailed information about semester projects visit the semester project description file in the Wiki folder of the Github repository. Grading of the semester project will be based on creativity, progress between reports, project documentation, quality of figures/tables, and code syntax.

Final exam: A take-home exam that will consist of finding the solution to a specific problem set by the instructor.

There will be 100 points in periodic quizzes, 200 points in an individual semester project, and 200 points in a final exam, totaling 500 points. Grade assignment will be on the basis of total points and will follow the usual integer scale of A (90-100%), B (80-89%), C (70-79%), D (60-69%), and F (< 60%).

Important dates

Deadline project description: Thursday, January 31, 2019 at 2:30 PM Deadline revised project description: Thursday, February 7, 2019 at 2:30 PM First oral progress report: Thursday, March 7, 2019 Second oral progress report: Tuesday, April 9, 2019 Deadline project files: Tuesday, May 7, 2019 at 5 PM Final project presentation: Thursday, May 9, 2019 Final exam assignment date: Monday, May 13 at noon Final exam due date: Friday, May 17, 2019 at 11:59 AM

Tardy work

Assignments turned in after the class has started will not be considered for an "A" grade.

Academic Integrity

The instructor recognizes the fact that you have learned the benefits and rewards of independent work, especially during examinations. In the unfortunate circumstances that the academic honesty policies of Kansas State University are broken and appropriate action is needed, it will be handled by stated procedures of the university without delay. Academic dishonesty will not be tolerated.

Statement Regarding Academic Honesty

Kansas State University has an Honor System based on personal integrity, which is presumed to be sufficient assurance that, in academic matters, one’s work is performed honestly and without unauthorized assistance. Undergraduate and graduate students, by registration, acknowledge the jurisdiction of the Honor System. The policies and procedures of the Honor System apply to all full and part-time students enrolled in undergraduate and graduate courses on-campus, off-campus, and via distance learning. The honor system website can be reached via the following URL: www.ksu.edu/honor. A component vital to the Honor System is the inclusion of the Honor Pledge which applies to all assignments, examinations, or other course work undertaken by students. The Honor Pledge is implied, whether or not it is stated: “On my honor, as a student, I have neither given nor received unauthorized aid on this academic work.” A grade of XF can result from a breach of academic honesty. The F indicates failure in the course; the X indicates the reason is an Honor Pledge violation.

Statement Regarding Students with Disabilities

Students with disabilities who need classroom accommodations, access to technology, or information about emergency building/campus evacuation processes should contact the Student Access Center (532-6441, [email protected]) and/or their instructor. Services are available to students with a wide range of disabilities including, but not limited to, physical disabilities, medical conditions, learning disabilities, attention deficit disorder, depression, and anxiety. Statement Defining Expectations for Classroom Conduct: All student activities in the University, including this course, are governed by the Student Judicial Conduct Code as outlined in the Student Governing Association By Laws, Article V, Section 3, number 2. Students who engage in behavior that disrupts the learning environment may be asked to leave the class.

About

Introduction to Scientific Programming

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published