- Instructor: Elizabeth Wickes
- Office: 329 Information Sciences Building
- Email: wickes1@illinois.edu
- Cell phone: look in moodle, I'm not putting this on github (do not call after 9pm)
This course covers the common data and document processing constructs and programming concepts used in library and information science. The history, strengths and weaknesses of the techniques are evaluated in the context of our discipline. These constructs and techniques form the basis of applications in areas such as bibliographic records management, full text management and multimedia. No prior programming background is assumed. The first half of the course will focus on programming essentials in Python, and the second half will have us explore other applications and how to integrate the fundamentals to solve more complex problems.
The following are more 'educational wins' rather than formal learning goals. Of course I hope that you learn how to program in this class, but not everyone taking the course wants to program after taking the class. So why is this still a valuable class for you to take? Read on.
- Evaluate programming book and resource searches and/or bookstore selections
- Understand some memes you didn’t before
- Run a reference interview for a patron who comes to you wanting to learn how to program
- Critically evaluate or write a reality-based technical job description
- Speak confidently about technical concepts and tools in consultations or job interviews
- Hold stronger & more productive conversations with developers
- Act as a bridge between programmers and non-programmers (this is a false binary, but I'll deal with it for the sake of brevity)
- Feel more confident to engage with developers and other IT staff with technical jargon and detail
- Detect vendor hand waving and other crap
- Evaluate the usefulness and applicability of potential technical tools (e.g. an open source command line tool)
- Identify a programming problem and take steps toward writing a program to solve it
- Make use of more technical tools, or technical features of tools you currently use (e.g. SQL in Access, RegEx in text editors, etc.)
- Continue self study of programming
- Succeed in further programming coursework
- Do some coding!
- Regular class times:
- AG and AO students are welcome to both sections with notice
- AG: 9:00am-11:50pm Wednesdays in 12 Information Science Building, 11-11:50 will be a mandatory lab time
- AO: 5:30-7:30pm Tuesdays online in BBC (AG students will need to request a link)
- (Optional) Lab/office hours open to AG and AO:
- 7:30-8:30pm Tuesdays online in the class session room (check the class moodle page for the link, this is different than the BBC drop in room)
- Look for the IS452 break out room (but I might be in a private break out room with another student, so look around if you don’t see me).
- The Tuesday evening ONLINE office hours from 7:30-8:30 (the hour directly after the AO class) will be used for traditional office hours and optional lab time. All students are welcome to remain or join us in the online class room and stay there while they work on the homework, and ask questions or have discussions with the other students and the instructor in the room.
- Make an appointment to meet with me:
- Book from https://wickes1.mybookafy.com. See the moodle with more information on booking these appointments.
- Zelle, John. (2010). Python Programming: an introduction to computer science. (SECOND edition). Franklin, Beedle & Associates Inc.
- Python for Everyone (http://pythonlearn.com/book.php and https://books.trinket.io/pfe/index.html) This a free book available online or for purchase if you want a physical copy. These chapters are optional and meant to provide additional information and context if desired.
The SECOND edition of the Zelle book is required. Neither of the other editions will match up with the content and homework problems and therefore will not be supported or accommodated. You are expected to have consistent access to the textbook. Do not use any of the pirated PDF versions because they do not match up with the print edition in ways that will impact your grade. Computing expectations
I expect all students to be capable of the following computing activities.
- Install programs
- Unzip and zip files
- Take screenshots
- Send emails with attachments
- Know how to navigate your file system, opening folders and moving around your directory, etc.
- Be comfortable interacting in Blackboard Collaborate
- Be able to share your screen in Blackboard Collaborate
2 and 4 credit hour students will complete the same number of assignments, but the 2 credit hour students will have shorter/fewer problems as part of the assignment.
Here is the points breakdown:
Assignment | Count | 2 hours | 2 hours | 4 hours | 4 hours |
---|---|---|---|---|---|
Points | Total (~Weight) | Points | Total (~Weight) | ||
Quizzes | 13 | 5 | 65 (13%) | 5 | 65 (10%) |
Homework | 13 | 15 | 195 (39%) | 20 | 260 (41%) |
Midterm | 1 | 80 | 80 (16%) | 100 | 100 (16%) |
Essays | 2 | 30 | 60 (12%) | 40 | 80 (13%) |
Final project | 1 | 100 | 100 (20%) | 130 | 130 (20%) |
Totals | 500 | 635 |
- Communication is key. Reach out if you have any questions or concerns about the homework or your grade. Data entry mistakes do happen, so don’t hesitate to reach out if you have any questions. Sometimes extension requests are missed or not entered correctly. We check for these situations, but sometimes things slip through. You will never be penalized for our mistakes, but you need to tell us that a mistake happens.
- Mark and read through the homework questions before reading the chapter. This will give you an idea of what to focus on in your readings.
- Do not fear the math. Several of the chapters are very math heavy in examples, but I’ve selected homework problems that should not require advanced math ability to complete (which is why I suggest you read the problems first). I’ll also provide some clarifications of the math lingo in the assignment moodle page.
- You will need to start your assignments early and give yourself time to step away and seek help. Just because an answer may only require a few lines of code doesn’t mean you will only need a few minutes to figure that out.
- While there are reading requirements, one of the most important things to do is to practice the lessons being taught in the book. Reading more is rarely the answer if you are having serious difficulty with the material.
- Everything you need to solve the homework should be in the lecture notes, readings, or discussed in class. But you still may find that searching online can help you put things together.
- I cannot stress enough that you need to start early. Completing the homeworks should take at least an hour for an experienced programmer, but you should expect them to take between 3-5 hours depending on the content. This means that between reading the chapter, attempting the homework, testing, and revising, you should expect to spend at least 10-15 hours a week on this class.
- Follow the 2 hour rule: When you are working on a programming problem and have spent an hour without making any progress forward (even slow progress is fine), take at least a 30 minute break. Work on something else, take a walk, do the dishes, etc. Then go back to the problem, and if you are still not making any progress forward after another hour, stop and email me for help. Work on something else or go to bed. Do not spend an entire day on a single problem ever. I’d rather give you an extension than read that you’ve done that. Stop and ask for help after 2 hours of making zero progress forward.
- The weekly discussion forums are the place to talk about unclear points or to get help with a problem. Don’t post the entirety of your homework answers on the discussion boards, but you can ask clarification or technical questions about them. Chances are high that someone else has a similar problem, and the feedback can generally be much faster with the entire classes eyes rather than just the instructor and TA.
- Don’t attempt to do everything (reading, quiz, homework) in one day. Instead, (as much as possible) pick a regular part of your day of about 30-60 minutes to work on this class. Doing this work in smaller pieces helps you retain and internalize what you’ve read and practiced.
- Extra credit will be available but may only be used to boost the score of attempted weekly homework assignments, and your total homework grade will be capped at the homework max.
- You must complete the midterm and final project to pass the course, even if you would have a passing grade without those points.
- For final course grades, I will use a +/- letter grade scale generally following the traditional 10% groups. I generally don’t give out A+ grades (A and A+ have the same weight).
- I do not require any extra readings for this class. Everything required is meant to be immediately helpful to you for your homework. Optional readings are there in case you'd find different examples helpful.
These are multiple choice questions based on the readings, and are designed for you to identify areas you need to review. You can take them up to three times (as needed) and should have unlimited time to complete them once started. You should complete these just after or while completing the readings.
These assignments are meant to provide practice and experience such that you will be prepared to complete later assignments. I do not expect all students to get perfect grades on each assignment, and thus several extra credit opportunities will be made available. The numerous assignments also mean that missing points for single homework assignments do not have a large negative impact on your grade.
Narratives will be required as part of the submission. These are informal write ups (think more of a casual lab report rather than an essay or paper) that describe your process of solving the homework problems. I expect about 100 words per homework problem (not per sub problem, so if PE1 has a, b, and c items you write 100 words for all of PE1), and you’ll likely have longer responses as the problem get more complex. Plus a few sentences of reflection about how the week went.
This doesn’t need to be a stream of consciousness about everything you did and it doesn’t need to be a formal paper, but it does need to provide substantive comments on your process of solving the problem. Write the narrative as you finish each problem and don’t sink a ton of extra time into this. These help us understand your code and give you partial credit if need be.
Things to include in your narratives (not all required, just ideas): what your assumptions about the rules of the problem are, any problems you ran into, which part of the lecture notes you found helpful, questions you came up with and can’t find the answer to, etc. These aren’t required sections, but suggestions to get you thinking. You can include screen shots if you want.
These narratives are meant to help us understand the context of how you completed your programs and are particularly important when you are unable to complete portions of a problem. There are many cases when we are able to award partial credit based on your narrative, even when you weren’t able to solve the problem. To be clear, you need to describe substantive information on the problem at hand to get the points. Partial credit will not be given if you only describe that you worked on the problem for hours but don’t talk about what you did.
There is no one right way to write a narrative. Do your best to follow these guidelines and we will tell you if you need to make any changes. Every student will have a different style of narrative, and that’s fine!
Narratives will be worth about 20-30% of your homework grade. We will only take off points if either you don’t submit a narrative with your homework, are missing a narrative for a problem, or you ignore direct feedback about changing how you write your narratives.
Some homework problems will have free text (non-coding) answers that you can provide in your narrative. You don’t need to provide a narrative answer for these discussion questions (but can if you want).
Do not write Python code in Word. The instructor can tell when you do this and is deeply annoyed by it. Please use proper formatting for inline text.
Including your netid in your file names is really helpful. You will submit your homework files into the upload area of the assignment page in moodle.
Here are the required elements for any homework submission:
- Narrative
- One narrative file for the entire homework, PDF preferred. Include your netid in the file name. About 100 words per problem (not sub problems).
- Example file name: wickes1_hw01_narrative.pdf
- Python files, one for each problem
- Some HW problems will build off each other, and you can combine them into one py file. Just clearly mark where the code is for each problem.
- Example file name: wickes1_pe4.py, wickes1_pe4+8.py, etc.
The midterm is a larger programming problem that you should be working through during the first half of the course. There will also be discussion questions around programming areas with a strict word count requirement. The due date for this assignment technically after midterms, but we’re going to still call it a midterm. The spirit behind this is that it will be completed as we go through the primary Python section of class. Many of your homework problems in the first half of the course will directly relate to what you will need to do for this.
There will be a midpoint check in due for the midterm, designed for me to see what you have done so far so I can provide feedback and answer any questions you have. This is a graded and required element. There isn’t a specific amount that you need to have done for the check in, but the more you do have attempted the more comments I can provide and questions I can answer.
These essays are designed to have you explore and learn more about the history of computing. The topics will range from historical comparisons of specific programming languages to a historical summary of a tool or technology. These essays are expected to be written like short papers, so you should use proper formatting and citations. You may use any citation style you’d like, so long as it is consistent. Any student caught plagiarizing any portion of their essays will receive a 0 for that topic assignment and may be escalated to student affairs for additional academic integrity review.
I don’t expect that you’ll be able to find scholarly published works (such as journal articles) for these essays, but I do expect that you use authoritative sources & authors. Ask if you are unsure about any sources! The University Library can also help you navigate the research process. We’ll talk more about this in class.
Three research essay topics will be available and will be due at staggered times across the semester, but you are only required to complete 2. You can complete these essays any time before their due dates.
All students are welcome to report their name and netid on the last page of any written work, but please put your credit hour designation on the first page. This blind grading helps the graders reduce any potential bias, but we do need to know your credit hours so we know which rubric to grade with.
Writing skill is not being graded, but these need to be written seriously and be readable. Those new to academic writing are strongly encouraged to make use of the writing centers on campus for help. Elizabeth is also willing to review these before submission and can give you quick feedback.
Final project preparation will begin as soon as the midterm is completed. Several options will be available and summarized within the assignment document that is contained in moodle. Several non-coding options are available. There will be three due dates associated with it: the final project proposal, a midpoint check-in, and the final due date. The proposal and midpoint check-in assignments are both required elements of the final project and count toward your final project grade. Each of these checkpoints are in separate assignments in the course moodle page, and due dates can be referenced there. They are roughly around midterms for the proposal, around week 14 for the midpoint, and at the end of finals week for the final due date.
Several extra credit assignments and options will be available to you. No homework scores will be dropped because I want you to attempt each homework assignment. However, the total extra credit points available will be about 1-2 homework assignments. You may only earn a maximum of 100% on your total homework points, which means any additional points will be dropped during final grade calculation. Moodle will not reflect this correctly.
These extra credit points will only be applied to your homework grades, and only toward attempted homework assignments. This means you cannot complete extra credit as an alternative to a full homework assignment, but should provide a solid grade buffer should you need it. Course policies
There is an 8 hour grace period for assignment submission. All assignments are due at 11:55pm, so any submissions turned in before 8am the next day will not receive a late penalty.
Homework assignments may be turned in up to 2 days late (a ‘day’ is the 24 hour period after an assignment is due), with a 10% penalty for each day late. Unexpected work and personal events happen, as well as technical problems. Submission 48 hours or later without an extension request will be given a 0.
I can grant up to 3 extensions of 5 days by request and only for the weekly homeworks. Weekly homeworks are due Saturdays, so this will give you until Thursday. Extensions will not be granted for the research essays, midterm, or final except for truly exceptional situations. Please email Elizabeth and cc the TA for an extension request.
Students are allowed to miss two class sessions: one for “life happens” situations (illness, family events, etc.) and one for pre-planned reasons such as conference attendance, job interviews, professional events, etc. Students needing to miss more than these two class sessions must contact the instructor to discuss arrangements.
- “Life happens” procedures: students must notify the instructor ASAP before or after missing a class for a “life happens” event. You are not required to report or provide any personal information to use this day. Just say that you are using a “life happens” day. You will still be expected to watch the recorded class and the homework must still be turned in before the solutions are posted to qualify for full credit.
- Documented events procedures: students must request approval to miss class before the class is missed. You will still be expected to watch the recorded class and all late homework policy rules still stand.
http://www.inclusiveillinois.illinois.edu/ As the state’s premier public university, the University of Illinois at Urbana-Champaign’s core mission is to serve the interests of the diverse people of the state of Illinois and beyond. The institution thus values inclusion and a pluralistic learning and research environment, one in which we respect the varied perspectives and lived experiences of a diverse community and global workforce. We support diversity of worldviews, histories, and cultural knowledge across a range of social groups including race, ethnicity, gender identity, sexual orientation, abilities, economic class, religion, and their intersections.
We are committed to providing a learning environment where our students can succeed. If you require special accommodations, please contact us and the Disability Resources and Educational Services (DRES) as soon as possible. To contact DRES, you may visit 1207 S. Oak Street, Champaign, call 217.333.4603, or email disability@illinois.edu. We will try to meet all accommodations once the process has started. Please note accommodations are not retroactive to the beginning of the semester, but begin the day you contact your professor with a current letter of accommodation from DRES.
When the assignments require narrative or written (e.g. non-code) answers, appropriate attribution and citation is required. This is a graduate level course and all students are expected to know and understand the concept of plagiarism and academic integrity. Several writing centers offer services to answer questions about plagiarism. The instructor will follow one of the standard procedures when plagiarism is submitted: http://studentcode.illinois.edu/article1_part4_1-402.html. Students will be given 0 points for an assignment if it contains plagiarism in whole or in part. No make up work will be accepted to replace that grade. The instructor reserves the right to fail a student if more serious plagiarism is found.
The Code of Policies and Regulations Applying to All Students will be applied in all instances of academic misconduct committed by students. This applies to all exams, presentations, assignments and materials distributed or used in this course. You can review these policies at the following web site: http://admin.illinois.edu/policy/code/index.html