0% found this document useful (0 votes)
100 views6 pages

ITM 313 Syllabus - Public

The ITM 313 course at Illinois Institute of Technology, taught by Professor James Papademas, focuses on open source application development using Python. Students will learn programming fundamentals, including control structures, data types, and object-oriented programming, through a series of eight modules. Successful completion of the course requires passing various assessments and engaging in discussions, with no required textbook as all materials are available online for free.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
100 views6 pages

ITM 313 Syllabus - Public

The ITM 313 course at Illinois Institute of Technology, taught by Professor James Papademas, focuses on open source application development using Python. Students will learn programming fundamentals, including control structures, data types, and object-oriented programming, through a series of eight modules. Successful completion of the course requires passing various assessments and engaging in discussions, with no required textbook as all materials are available online for free.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

SYLLABUS

ITM 313 Introduction to Open Source Application Development


Instructor
James Papademas, Industry Professor, Illinois Institute of Technology
James Papademas | Illinois Institute of Technology (iit.edu)

Course Description
This course introduces basic concepts of systems programming using a modern open source language. You
will learn to apply basic programming concepts toward solving problems, writing pseudocode, working with
and effectively using basic data types, abstract data types, control structures, code modularization and
arrays. You will learn to detect errors, work with variables and loops, and discover how functions, methods,
and operators work with different data types. You will also be introduced to the object paradigm including
classes, inheritance, and polymorphism.

Learning Python has become increasingly popular in recent years, and for a good reason. Python is a
versatile programming language that can be used for a wide range of applications, including data science,
machine learning, web development, and more. In an introductory Python course such as this, you can
expect to learn the basics of Python syntax, data types, control structures, and functions. Learning Python
can lead to many career benefits, including increased job opportunities, higher salaries, and the ability to
work on exciting and innovative projects. Additionally, adding online courses and certifications to a resume
can demonstrate a commitment to professional development and a willingness to learn new skills.

Course Outcomes
Upon successful completion of this course, you will be able to:
• Recall and describe software application and development theory and concepts
• Write, compile, execute, troubleshoot, analyze, evaluate, and resolve simple problems through
program coding using Python computer language.
• Develop, synthesize, and identify important language standard libraries and utilities.
• Apply data transfer techniques between modules using parameters and return values.
• Construct applications to use simple files for input and output.
• Implement arrays as structures to contain data.
• Use a higher-level programming language to code, test, and debug software designs.
• Implement concepts of Object Oriented Programming (OOP), inheritance and polymorphism.
• Describe integration of Graphical User Interfaces (GUIs) and event driven programming.
• Analyze a complex computing problem and to apply principles of computing and other relevant
disciplines to identify solutions (ABET Computing Criterion 3.1)
• Design, implement, and evaluate a computing-based solution to meet a given set of computing
requirements in the context of the program’s discipline (ABET Computing Criterion 3.2)
• Identify and analyze user needs and take them into account in the selection, creation, evaluation, and
administration of computer-based systems (ABET IT Criterion 3.6)

Course Materials
The link to reading materials and resources to learn on the topics can be found in each week’s learning
module. All materials are available online for free, no required resources need to be purchased. There is no
required textbook to supplement the course materials. Note: Be aware that some resources may open in a
new tab.

Software Requirements: Python and Visual Studio Code

Course Outline
The course consists of 8 modules that focus on the following key areas:

Module 1: Introduction to Python and Programming


Key concepts

- Introduction to the Python Programming Language


- Arithmetic Operations
- Variables and Data Types
- Programming Logic

Readings

- Visual Studio Code IDE for Mac and Windows


- Installing Python Instructions (Windows & Mac)
- Downey, Allen. Think Python. 1st ed. Chapters 1-2, O’Reilly Media, 2012.
- Pseudocode and Flowcharts (Codecademy)

Module 2: Sequential Control Structures, Basic Input/Output, Type Conversions


Key concepts
- Programming Input/Output
- Making Use of Type Conversion Functions
- Formatting Output

Readings

- Sequential Control (incls. Video)


- Keyboard Input/Console Output
- Downey, Allen. Think Python. 1st ed. Chapter 3, O’Reilly Media, 2012.
- Advanced Output incl. Formatting

Module 3: Decision Control Structure (Logical Statements)


Key concepts

- Decision Structures Using If Conditions


- Decision Alternatives

Readings
- Decision (Selection) Control
- Downey, Allen. Think Python. 1st ed. Chapter 5, O’Reilly Media, 2012.

Module 4: Repetition Control Structure, Logical Statements continued.


Key concepts
- While Loop
- For Loop
- Nested Loops

Readings

- Repetition (Loop) Control


- Downey, Allen. Think Python. 1st ed. Chapters 7-8, O’Reilly Media, 2012.
- Nested Loops

Module 5: Functions and Program Modularity, Common Library Packages


Key concepts
- Define and Implement User-defined Functions
- Working with Imported Modules
- Debugging Source Code

Readings
- Downey, Allen. Think Python. 1st ed. Chapters 3, 14, O’Reilly Media, 2012.

Module 6: List Processing, File IO Processing


Key concepts
- Creating Lists
- List Slicing Techniques
- Reading and Writing Data To and From a File

Readings
- Downey, Allen. Think Python. 1st ed. Chapters 9, 10, and 14, O’Reilly Media, 2012.
- Multi-Dimensional Lists

Module 7: Object Oriented Programming (OOP) including Inheritance, UML


Key concepts
- Classes and Class Objects
- Use Inheritance to Build Upon Existing Classes
- Unified Modeling (UML) Class Diagramming

Readings
- Downey, Allen. Think Python. 1st ed. Chapters 15, 17, and 18, O’Reilly Media, 2012.
Module 8: Crafting Graphical User Interfaces (GUI)
Key concepts
- GUI Basic Controls
- Build Your Own GUI

Readings

- Python's Tkinter GUI Docs


- Tk Themed (ttk) Widgets
- Layout Manager (grid manager) Section
- Making your App Interactive Section
- Temperature Converter App

Course Structure and Learning Activities


There are 8 content modules in this course and each module may take about 6 hours to complete. While you
can advance at your own pace; it is recommended that you take no longer than a week to complete each
module. A consistent pace will help you complete the module and move on to the next course in the
sequence. The final module consists of your final exam for the course.

This course is comprised of the following elements:

● Readings: Each module may include several required and/or supplemental readings.
● Video Lessons: In each module, the concepts you need to know will be presented through a
collection of short videos. You may stream these videos for playback within the browser by clicking on
their titles.

● In-Video Questions. Some videos have questions associated with it to help verify your understanding
of the topics. These questions will automatically appear while watching the video if you stream the
video through your browser. These questions do not contribute toward your final score in the class.

● Discussion Forum: This course has a place for you to interact with other learners about class-related
topics. Unless specified, discussion forums do not carry a score.

● Practice Quizzes: Each module will include some practice quizzes, intended for you to assess your
understanding of the topics. You will be allowed unlimited attempts at each practice quiz. There is no
time limit on how long you take to complete each attempt at the quiz. These quizzes do not contribute
toward your final score in the class.

● Summative Module Assessments: Each module will include at least one summative module
assessment. You will be allowed one attempt every eight hours for each assessment. There is no time
limit on how long you take to complete each attempt at the assessment. Your highest grade will be
recorded

● Final Assessment: This course will contain one final summative course assessment. Before taking
the exam, please make sure you are in a place with reliable internet connection. No retakes will be
granted for the lack of internet access. You are in an online program and the use of the Internet is a
requirement.

How to Pass This Course


Guidelines for completing and submitting each assigned course activity is posted along with the assignment.
Assignments can be submitted at any time as you move through the module. Only those who complete and
submit all assignments, including peer reviews, will receive a certificate of completion of this course. No late
assignments will be accepted. In case of extenuating circumstances beyond your control that prevent the
submission of an assignment or exam, you have to enter a request with the program advisor and the
instructor.

To qualify for a Course Certificate, simply start verifying your coursework at the beginning of the course and
pay the fee. Coursera Financial Aid is available to offset the registration cost for learners with demonstrated
economic needs. If you have questions about Course Certificates, please see the help topics here.

If you choose not to pay the fee, you can still audit the course. You will still be able to view all videos, submit
practice quizzes, and view required assessments. Auditing does not include the option to submit required
assessments. As such, you will not be able to earn a grade or a Course Certificate.

The following table explains the breakdown for what is required in order to pass the class and qualify for a
Course Certificate. You must pass each and every required activity in order to pass this course.

Activity Required? Number per Estimated Time % Required % of Total


Course per Module to Pass Grade

Lecture Videos Yes 3-6 per .5-1 hour N/A N/A


module

Practice Quizzes No 3-6 per .5 hour N/A N/A


module

Discussions No 2 per course 1 hour N/A N/A

Summative Module Yes 1 per module .5 hour 80% 7.5%/each


Assessments module
(60%)

Summative Course Yes 1 -2 per 1-3 hours 80% 40%


Assessments course

Getting and Giving Help


● Use the Learner Help Center to find information regarding specific technical problems. For example,
technical problems would include error messages, difficulty submitting assignments, or problems with
video playback. If you cannot find an answer in the documentation, you can also report your problem
to the Coursera staff by clicking on the Contact Us! link available on each topic's page within the
Learner Help Center.
● Use the flag icon under each item to report errors in lecture video content, assignment questions and
answers, assignment grading, text and links on course pages, or the content of other course materials.
● Familiarize yourself with Coursera’s policy on Accessibility.

Academic Integrity
Your attentiveness to academic integrity reflects the value you place on your own work and the work of
others. In addition to Coursera's Honor Code, we also have high expectations for conduct during course
participation.

Discussion Forums: Expectations


Sharing an online course with other avid learners like you gives you a unique opportunity to share,
collaborate, and learn from others and their experiences, and helps you reinforce your understanding of the
topics of the course. Interacting in the Discussion Forums is a great way to engage with your online
community. We know that it is not possible to read every discussion forum post, so we recommend that you
read those that interest you; and reply when you can contribute. The forum is part of your class activities and
everybody is expected to act professionally and be civil and respectful of others in your class. Failure to meet
these expectations may be considered a break in the Academic Code of Conduct and may result in your
removal from the course. Please, check tips and helpful tools to interact in discussion forums in this
document.

Academic Code of Conduct


Above all else, learners are expected to ensure that their conduct helps to create an atmosphere conducive to
learning and the interchange of knowledge. While it is understood that some of these items are subject to
interpretation, learners should nonetheless endeavor to:

● Be respectful of fellow learners.


● Not discriminate against fellow learners in any manner.
● Conduct peer reviews in a timely manner and give useful feedback on what was done well, helpful
suggestions for how to improve, and specific comments about why you gave the grade you chose to
assist peers in their learning.
● Turn assignments in on time and follow instructions on all assignments including those affecting the
use of technology.
● Be truthful in all communication, which includes, but is not limited to, avoiding academic dishonesty.

Illinois Institute of Technology Copyright Statement


This course material is copyrighted, and all rights are reserved by IIT. No part of this course material may be
reproduced, transmitted, transcribed, stored in a retrieval system, or translated into any language or computer
language, in any form or by any means, electronic, mechanical, magnetic, optical, chemical, manual, or
otherwise, without the express prior written permission of the University.

You might also like