Fall 2020
Industrial Programming (산업시스템프로그래밍)
Instructor: Dr. Muhammad Syafrudin
Course information
This course is intended to introduce the industrial and systems engineering students through problem solving and computer programming. Selected topics are covered through basic concept/theory and hands-on (practical) programming in the Python language version 3. The core material for this course includes but not limited to data types and expressions, loops and selection statements, strings, and input output (I/O), graphical user interface (GUI), database and web development, etc. Programming techniques covered in this course include but not limited to modularity, abstraction, top-down design, debugging, and testing. No prior programming experience is required. At the end of the course you will be expected to have the ability to:
- Develop problem-solving skills, especially in the use of computers to solve real-world problems
- Learn basic programming skills, especially software development using the Python language
- Learn how create, test, and execute Python code/program
- Be prepared for further study in Industrial and Systems Engineering (Data Science/Mining, Industrial Artificial Intelligence, etc.)
Lecture
Wed (수) at 3:00‐6:45 pm in online via Webex (Offline: 원흥관 F305 ERP실습실 (if possible))
Office hours
Tue–Fri (10am–6pm) at 산업 AI 연구센터 동국대학교충무로영상센터 본관 825호.
Prerequisites
No prior programming experience is required. This course will teach your from the very basic and gradually increase to the next level.
Software
We will be using Python version 3 run on the computer lab (in ERP room) or on your own machine by installing the Anaconda Platform which includes Jupyter/IPython as well all packages that will be required for the course. Additionally, we plan to use AWS educate services to introduce the students about cloud environtment (such as how to do programming, collaboration and deploying the code in the cloud). More details will be provided in the class.
Course activities
The course is structured in two different types of activities that repeat themselves each week and they are: 50% Lectures and 50% Labs which be held on Wed.
- Lectures material will be provided to introduce the students about basic concept or theory about each topic weekly. There will be quizzes at the end of each lecture to assess the understanding of the material that will help us identify gaps.
- Labs are designed as hands-on activities and are useful to practice with problems similar to the homework.
Notes
Course material can be downloaded in e-Class and please be aware, that we will not publicly release the homework assignments this year.
Supplementary textbook or e-book (optional)
- How to Think Like a Computer Scientist: Learning with Python 3 (RLE) by Peter Wentworth et al. The e-book is available here: Free version
- Andrew N. Harrington, Hands-on Python Tutorial by Andrew N. Harrington The e-book is available here: Free version
- Fundamentals of Python: First Programs, 2nd Edition by Kenneth A. Lambert
Schedule
주차(Week) | 강의내용(Class Topic & Contents) | 강의활동유형(Class Type) |
---|---|---|
1 | Course introduction and prospects | 강의 (Lecture) |
2 | Introduction to python and algorithmic thinking | 강의+실습 (Lecture + Practice) |
3 | Variables and expressions | 강의+실습 (Lecture + Practice) |
4 | Comparison operators and decision structures | 강의+실습 (Lecture + Practice) |
5 | String and lists | 강의+실습 (Lecture + Practice) |
6 | For loops and while loops | 강의+실습 (Lecture + Practice) |
7 | Input and output (I/O) and text files | 강의+실습 (Lecture + Practice) |
8 | Mid exam | 시험 (Exam) |
9 | Functions | 강의+실습 (Lecture + Practice) |
10 | Classes and modules | 강의+실습 (Lecture + Practice) |
11 | Tuples and dictionaries | 강의+실습 (Lecture + Practice) |
12 | Simple graphics and image processing | 강의+실습 (Lecture + Practice) |
13 | Graphical user interface (GUI) | 강의+실습 (Lecture + Practice) |
14 | Database and web development | 강의+실습 (Lecture + Practice) |
15 | Final exam | 시험 (Exam) |
Grading
The final grade will be calculated using the following weights:
# | Final Grade Weight |
---|---|
Attendance | 15% |
Assignment(quiz/homework/weekly assignment) | 15% |
Mid exam (closed-book) | 30% |
Final exam (closed-book) | 40% |
Total | 100% |
Assignment
There will be a quiz/homework/weekly assignment to complete. Some of them will be due in a week and some of them in two weeks. You have the option to work and submit the homework in pairs for all the assignments except two which you will do individually. The homework are graded on a scale 0 to 100, where 100 is the highest grade.
Submitting an assignment
Instructions for turning in assignments will be posted when the semester starts (in e-Class).
Getting help
For questions about homework, course content, package installation, and after you have tried to troubleshoot yourselves, the process to get help is:
Post the question in e-Class and hopefully your peers will answer. Note that in e-Class questions are visible to everyone. For private matters send an email to helpline: udin [at] dongguk [dot] edu.
Course Policies
Collaboration policy
We encourage you to talk and discuss the assignments with your fellow students (and on e-Class), but you are not allowed to look at any other students assignment or code outside of your pair. Discussion is encouraged, copying is not allowed.
Late day policy
Homework is due on Wednesday before class. Late submission are not allowed.
Communication to students
Class announcements will be through e-Class. All homework and quizzes will be posted in e-Class. Also all feedback forms. Important note: make sure you have your settings set so you can receive emails from e-Class.
Academic honesty
Ethical behavior is an important trait of a Data Scientist, from ethically handling data to attribution of code and work of others. Thus, in ISE we give a strong emphasis to Academic Honesty. As a student your best guidelines are to be reasonable and fair. We encourage teamwork for problem sets, but you should not split the homework and you should work on all the problems together.