IST256: Applications Programming for Information Systems
This course is for students who are new to programming yet desire to learn how programming applies to our everyday lives.
Structured program design, development testing, implementation, and documentation of common information system applications using structured programming languages. Lectures and laboratory.
Due to the prevalence of technology in our lives, learning to program has become the critical skill of the 21st century. Students will learn practical applications of computer programming such as how to automate tasks, manipulate data and solve problems applicable to almost any academic discipline.
At the end of the course, students will be able to:
- Analyze complex problems by thinking computationally and systematically.
- Solve practical, real-world problems using a modern computer programming language..
- Demonstrate the ability to read, write, discuss and code confidently.
- Understand how to code in teams, collaborate with others and manage source code.
- Acquire new programming knowledge independently.
Fall 2017 Sections
Every student in IST256 is assigned to the main section M001, then one of the recitation sections M002-M005. You are required to attend both sections every week.
|M001||Main Section||Michael Fudgefirstname.lastname@example.org||Mondays 8-9:20am||Whitman 007 (Shemin)|
|M002||Recitation Section||Avinash Kadaji Siddappaemail@example.com||Wednesdays 8-9:20am||Hinds Hall 018|
|M003||Recitation Section||Wade Stringerfirstname.lastname@example.org||Fridays 12:45-2:05pm||Hinds Hall 018|
|M004||Recitation Section||Deborah Noskyemail@example.com||Wednesdays 8-9:20am||Hinds Hall 117|
|M005||Recitation Section||Angela Ramnarine-Rieksfirstname.lastname@example.org||Wednesdays 3:45-5:05pm||Hinds Hall 018|
You are welcome to come to our office hours without an appointment. If you require a meeting outside of office hours, please request an appointment.
|Michael Fudge||Mondays 9:30am - 10:30am, Wednesdays 10:00am - 11:00am|
|Avinash Kadaji Siddappa||TBD|
The following texts are required:
- Programming in Python 3 an Interactive Textbook https://zybooks.zyante.com. Must be purchased online or through the SU bookstore.
- Python forEverybody: Exploring Data In Python 3 by Charles Severance. http://www.pythonlearn.com/book.php. Free.
- Automate the Boring Stuff with Python: Practical Programming for Total Beginners by Al Sweigert https://automatetheboringstuff.com/. Free.
Here are some additional free textbook recommendations. Consider these supplemental resources:
- A Byte of Python, https://www.gitbook.com/book/swaroopch/byte-of-python/details
- Dive into Python , Mark Pilgrim http://getpython3.com/diveintopython3/
- Learn python the hard way, Zed Shaw http://learnpythonthehardway.org/book/
- Python Practice Book, Anad Chitpothu http://anandology.com/python-practice-book/index.html
Activating Your Zybook
- Go to: https://zybooks.zyante.com/
- Create Your Account. Make sure to sign up with your @syr.edu email address.
- When prompted for the Zybook code, enter SYRIST256FudgeFall2017
- You can purchase the Zybook online with a credit card, or purchase through the bookstore and recieve a access code.
Course Technology Requirements
Each of the following course technology requirements are mandatory. You must install open source software and sign up for free services as part of the course. Instructions can be found at: http://ist256.syr.edu/content/setup/overview/
Bring Your Own Device
This course uses the BYOD (Bring Your Own Device) model. The expectations are that you own a notebook computer and you will bring it to every class fully charged. Your notebook computer must have 4GB of RAM and 500MB of free disk space to satisfy the software requirements.
Accounts and Services
This course will use GitHub Classroom https://classroom.github.com/ for exchanging source code from teacher to student, the Gitter.im https://gitter.im/IST256/Fudge chat service for asking questions during lecture or outside of class, and SU Google Apps for Education https://g.syr.edu for recording attendance and measuring class participation. These are free service and are offered at no charge to the student.
Methods of Evaluation
This course uses a well thought out mix of individual, group, in-class and out-of-class instruments to assess your knowledge acquisition. A variety of techniques are used to cater to students of different learning styles and assess the course learning outcomes.
|Exams||E1 - E3||2,3||3 (2 best count)||120||240|
|Diagnostic Quizzes||Q01 - Q13||1,2,3||13 (12 best count)||5||60|
|Class Coding Labs||L01 - L13||1,2,3,4||13 (12 best count)||5||60|
|Homework||H01 - H13||1,2,3,4,5||13 (12 best count)||10||120|
- Exams evaluate your recall and understanding of the course material, as well as your ability to apply it to new situations.
- There will be three exams in the course. Your best two exam scores count towards your final grade, offering you an opportunity to achieve mastery over the material.
- Due to the nature of the subject matter, examinations are naturally cumulative.
- Exams are delivered in class on the dates posted on the class schedule.
- It is your responsibility to be present for each exam on the date posted.
- There are no re-issues or make-ups, as this is logistically difficult to accomplish fairly.
- Exams are issued on paper as multiple choice and short answer questions.
- Exam is closed-book. You may not use notes, a computer or any aids (calculator, phone, etc…)
What is the Project?
- Your project should demonstrate your level of mastery over the course material. It its your chance to show the world what you have learned in the course and that you are capable of acquiring new programming skills independently.
- For your project you will write a program and then demonstrate it during our class Demo Day.
- What you decide to do for the final project is up to you, but you should run your idea by your instructors before you start work.
- You should build something of interest to you which solves an actual problem. We encourage you to think big and follow your passion.
- You are expected to work in groups of 2-3 people. Each person on the team should contribute equally.
- The scope/size of your project should be at minimum the equivalent of about 4 homework assignments, in groups of 3 that would be 6.
- As a guideline a quality project will take 20 hours of work per student in the group.
What is Demo Day?
- Students demonstrate their projects on Demo Day. It’s like a career fair, science fair, or poster session. It’s an open forum where guests will walk around and ask you to demonstrate and explain your project.
- Demo Day is held during our final exam block. It is your opportunity to showcase your project to your instructors as well as other people in the campus community.
Demo Day Poster
- You demo day poster is a visual explanation of your project.
- It should capture the attention of the audience and draw them in to your demonstration.
- Your poster should be 24” x 36”. It can be printed in the iSchool or the Library.
- It should be attached to cardboard so it can stand up without having to be taped to a wall.
Handing it In
You are expected to submit all artifacts associated with your project. This includes - Your source code and any additional information required to execute your code after demo day. - A digital version of your poster from demo day. - A written explanation of “who did what” on your project. - A written explanation of how your code works.
Your project is graded out of 120 points based on the following criteria. For each criteria we will issue a sliding scale of points based on whether you:
- definitely met the criteria,
- somewhat met the criteria, or
- not at all. Did not meed the criteria
1: The Project:
- Does it have a useful purpose / solve an actual problem?
- Is it ambitious? Complex in scope?
- Was the idea run by instructors first?
2: Demo Day:
- Is your demonstration easy to understand (Can we understand your project)?
- Is your presentation organized (Code works/demonstrates well)?
3: Your Demo Day Poster:
- Is your poster a visual representation of your project?
- Does it meet the poster criteria?
4: Your Code:
- Does it execute and function as designed?
- Is it easy to read and understand? (modularized into functions, variables aptly named)
- Does it handle errors (bad input, broken API’s, etc…) ?
- Does it demonstrate you’ve mastered the course material?
- Does it demonstrate you’ve acquired new skills independently (a package, library, or API we did not teach or help you with)?
5: Your explanation:
- Did you include a written explanation of who did what on your project?
- Does your code explanation reflect the actual code you wrote?
- Did you work in a group of 2 or 3, demonstrating you can collaborate?
- Did you contribute to all aspects of the project (code, poster, demo)?
NOTE: If just ONE of these criteria is not at all the highest grade on the project is 105/120.
- Diagnostic quizzes are designed to ensure you are keeping pace with the required reading assignments. They are an instrument to ensure you are studying the required material from the assigned readings. If you keep pace with your studies you should not have difficulty completing the diagnostic.
- Diagnostic quizzes are issued online in Blackboard. They are open book, but individual assignments.
- There is a diagnostic quiz for each weekly lesson. You are issued a subset of questions from a pool of question in the lesson.
- Diagnostic quizzes are due by the end of the day (11:59 PM) on the day before lecture.
- If you start the quiz, you must complete it in one session. If you close the browser your answers will be submitted.
- Diagnostic quizzes are graded out of 5 points.
- You are given two attempts, each attempt could have different questions.
- The higher of your two attempts counts as your grade.
- You are given one “Free Pass” which means your lowest score will be dropped.
Class Coding Labs
- Each week there will be an lab programming activity.
- This activity must be completed between the lecture and recitation sections. It will be discussed in the recitation.
- You may work alone, but are encouraged to work alongside a partner as you complete the lab. If you work with another, you should both complete the lab individually.
- If you are not at recitation you will not receive full credit for the class coding lab.
- You are awarded up to 5 points for the lab.
- You are given one “Free Pass”, meaning you have one incomplete lab without penalty.
- Practice makes perfect. Each week you will be assigned several homework exercises to complete outside of class.
- These homework assignments will take several hours to complete. This is by design. Practice makes perfect.
- You are encouraged to work with others on these homework assignments, but the code you write must be your own code. You must understand the code you write.
- The homework by the end of the lesson. Saturday by 11:59pm .
- You must submit your code to GitHub before the due date.
Homework is evaluated based on the following criteria:
- What the problem attempted? Effort made to start the homework assignment.
- What the problem analysis thought out? Identified inputs and outputs, including sources and targets. Outlined a process which explains code flow in pseudo code – not python.
- Does the code written code execute? Program runs without error.
- Does the code solve the problem? In addition does it does it handle edge cases and bad input when explicitly directed to do so?
- Is the code well written? Easy to understand, modular uses functions for code reuse and readability? Are python objects aptly named? No unnecessary code, or code not pertinent to the problem at hand?
You must satisfy all 5 criteria to receive a full 10 points for the homework.
- Late homework or homework edited after the due date receives a 0.
- You are given one “Free Pass”, meaning your lowest homework score is dropped.
- Homeworks are individual assignments. You must work alone or it is a violation of academic integrity.
- Class participation is a measure of engagement during lecture. It is a mix of attendance and interactive activities offered throughout class.
- Attendance and participation are not graded, but they are tracked meticulously.
- If you fall behind on your attendance or participation, you will be flagged in Orange Success.
- Students with exemplary attendance and participation are rewarded. If your grade is close to the next demarcation, you might be moved up to the next letter grade. For example a student with a 565/600 who has displayed exemplary participation might be moved from an A- to an A at the instructor’s discretion. This is the only form of extra credit given in this course.
We use the following grading scale for translating your points earned into a letter grade to be submitted to the University registrar.
|Student Achievement||Total Points Earned||Registrar Grade|
|Mastery||570 - 600||A|
|540 - 569||A-|
|Satisfactory||510 - 539||B+|
|480 - 509||B|
|450 - 479||B-|
|Low Passing||420 - 449||C+|
|390 - 419||C|
|360 - 389||C-|
|Unsatisfactory||300 - 359||D|
|0 - 299||F|
Course Specific Policies
The 5 No’s
My course policies can be summarized as “the 5 no’s“:
- No excused absences. Attendance is required. It is necessary for your success.
- No late work. You are provided specific due dates and expected to adhere to them out of respect for your graders. Plan accordingly instead.
- No make-up exams. Exam dates are posted and firm. Your lowest exam is dropped as a contingency should you miss an exam.
- No extra credit. Other that rewarding exemplary participation, there is no extra credit. It devalues the initial work I’ve assigned to you. I would rather you spend time getting it right the first time. You get free passes and your lowest exam is dropped. These are a form of extra credit already.
- No rounding up final grades. Grades are only rounded up at the instructor’s discretion, and based on exemplary participation througout the entire semester.
- Due dates for all assessments are posted in Blackboard https://blackboard.syr.edu. Please consider these dates the official due dates.
- Due dates are also posted to the IST256 website for reference.
Course Honor Code
The course honor code represents our commitment to Academic Integrity in a programming course. I drafted the class honor code to avoid academic negligence - situations where students are unaware that their actions are actually a form of cheating. Our honor code remedies this problem by clearly stating the expectations of Academic Integrity for this course. It states:
- All work is my own. Answers on all student work, assignments (problem sets, projects, papers, homework, etc…) and assessments (quizzes, exams, tests, etc…) are my own individual work (except where collaboration is explicitly permitted). In the case where collaboration is permitted I will only collaborate within my team.
- I will not share answers. I will not make answers (either my own or the professor’s) to work, assignments (problem sets, projects, papers, homework, etc…) and assessments (quizzes, exams, tests, etc…) available to anyone else in or out of class. This includes posting them on the web or sharing them in test banks.
- I will not misrepresent my ability. I will not engage in any activity which misrepresents or falsifies my knowledge of the subject matter and therefore improves my grade dishonestly. This includes unsanctioned test aids.
- I will give credit. I will always pay attribution to my sources, and not misrepresent the works of others as my own.
- I accept the honor code and its consequences. I understand and accept that that all work I submit is subject to the honor code, and if I violate this honor code I my instructor is obligated to report me to the University’s office of Academic Intergrity.
Sanctions for Violators of Academic Integrity
We take academic integrity very seriously. You should too.
- All violations, even the most minor such as copying a homework assignment or lab, will be reported to the University’s Office of Academic Integrity. You don’t want that on your record, so don’t do it.
- In addition, cheating on an exam or plagiarism the final project with result in an automatic grade of F in the course.
University-Mandated Course Policies
Academic Integrity Policy
Syracuse University’s academic integrity policy reflects the high value that we, as a university community, place on honesty in academic work. The policy defines our expectations for academic honesty and holds students accountable for the integrity of all work they submit. Students should understand that it is their responsibility to learn about course-specific expectations, as well as about university-wide academic integrity expectations. The university policy governs appropriate citation and use of sources, the integrity of work submitted in exams and assignments, and the veracity of signatures on attendance sheets and other verification of participation in class activities. The policy also prohibits students from submitting the same written work in more than one class without receiving written authorization in advance from both instructors. The presumptive penalty for a first instance of academic dishonesty by an undergraduate student is course failure, accompanied by a transcript notation indicating that the failure resulted from a violation of academic integrity policy. The presumptive penalty for a first instance of academic dishonesty by a graduate student is suspension or expulsion. SU students are required to read an online summary of the university’s academic integrity expectations and provide an electronic signature agreeing to abide by them twice a year during pre-term check-in on MySlice. For more information and the complete policy, see http://academicintegrity.syr.edu/.
Syracuse University values diversity and inclusion; we are committed to a climate of mutual respect and full participation. If you believe that you need accommodations for a disability, please contact the Office of Disability Services (ODS), disabilityservices.syr.edu, located at 804 University Avenue, room 309, or call 315.443.4498 for an appointment to discuss your needs and the process for requesting accommodations. ODS is responsible for coordinating disability-related accommodations and will issue “Accommodation Authorization Letters” to students as appropriate. Since accommodations may require early planning and generally are not provided retroactively, please contact ODS as soon as possible. Our goal at the iSchool is to create learning environments that are useable, equitable, inclusive and welcoming. If there are aspects of the instruction or design of this course that result in barriers to your inclusion or accurate assessment or achievement, please meet with me to discuss additional strategies beyond official accommodations that may be helpful to your success.
Religious Observances Notification and Policy
SU’s religious observances policy, found at supolicies.syr.edu/emp_ben/religious_observance.htm , recognizes the diversity of faiths represented in the campus community and protects the rights of students, faculty, and staff to observe religious holy days according to their tradition. Under the policy, students should have an opportunity to make up any examination, study, or work requirements that may be missed due to a religious observance provided they notify their instructors no later than the end of the second week of classes through an online notification form in MySlice listed under Student Services/Enrollment/My Religious Observances/Add a Notification. For fall and spring semesters, an online notification process is available for students in My Slice / StudentServices / Enrollment / MyReligiousObservances / Add a Notification. Instructors may access a list of their students who have submitted a notification in My Slice Faculty Center.
Student Academic Work Policy
SU policy on student academic work may be found at: http://coursecatalog.syr.edu/content.php?catoid=3&navoid=270#Student_Academic_Work Student work prepared for University courses in any media may be used for educational purposes, if the course syllabus makes clear that such use may occur. You grant permission to have your work used in this manner by registering for, and by continuing to be enrolled in, courses where such use of student work is announced in the course syllabus. If you use students’ work for educational purposes, University policy requires that you notify students in your syllabus (Academic Rules, Student Academic Work). The Curricula Committee suggests the following language:
Educational use of student work: I intend to use academic work that you complete this semester in subsequent semesters for educational purposes. Before using your work for that purpose, I will either get your written permission or render the work anonymous by removing all your personal identification.
Here’s our schedule of topics to be covered each day throughout the semester. It is expected you will come to class having prepared for the day’s topic. All deliverable and examination dates are posted to this schedule.
|1||8/28 - 9/2||Lesson 00: Course Introduction||Lecture: Course Introduction
Recitation: Complete the Course Setup Checklist
|2||9/3 - 9/9||Lesson 01: Introduction to Programming||Lecture: No Class Labor Day
Recitation: Review Programming Walkthrough
|3||9/10 - 9/16||Lesson 02: Introduction to Python|
|4||9/17 - 9/23||Lesson 03: Variables and Types|
|5||9/24 - 9/30||Lesson 04: Conditionals|
|6||10/1 - 10/7||Lesson 05: Iterations||
E1: Exam 1
|7||10/8 - 10/14||Lesson 06: Functions|
|8||10/15 - 10/21||Lesson 07: Strings|
|9||10/22 - 10/28||Lesson 08: Files|
|10||10/29 - 11/4||Lesson 09: Lists||
E2: Exam 2
|11||11/5 - 11/11||Lesson 10: Dictionaries|
|12||11/12 - 11/18||Lesson 11: Web Services and API’s|
|13||11/19 - 11/25||Thanksgiving Break - No Classes|
|14||11/26 - 12/2||Lesson 12: Data Analysis|
|15||12/3 - 12/9||Lesson 13: Visualization||
E3: Exam 3
|16||12/11||Final Exam (8AM - 10AM)||5/4 PRJ, H14|
Explanation of Blackboard Gradebook Codes:
- Q02 - Q14: Diagnostic Quizzes. Must Completed the day before lecture class.
- L02 - L14: In-Class Coding Labs. Must Be Completed in Class on Programming Days.
- H02 - H14: Homework. Assigned after the in-class coding lab, must be completed before next programming class.
- E1 - E3: Exams. Issued at the beginning of class.