The University of Jordan Accreditation & Quality Assurance Center COURSE Syllabus 4 5 6 7 8 9 Course title Course number Credit hours (theory, practical) Contact hours (theory, practical) Prerequisites/co requisites Program title Program code Awarding institution Faculty Department Certified Software - Programming using Python 3 1902458 3 3 Data Structures 1 (1901233) Department of Computer Information Systems 2 The University of Jordan King Abdullah II School for Information Technology Department of Computer Information Systems 10 Level of course Fourth year course 11 12 Year of study and semester (s) Final Qualification Other department (s) involved in teaching the course Second Semester 2014/2015 B.Sc. 14 Language of Instruction English 15 16 Date of production/revision Required/ Elective Production: 1/2/2015; Revision: 27/5/2015 Elective 1 2 3 13 - 17. Course Coordinator/Instructor: Coordinator: Dr. Majdi Sawalha Instructors Office Number Office Hours Office Phone e-mail Dr. Majdi Sawalha CIS 221 Sun, Tue, Thu 11:00-12:00 22619 sawalha.majdi@ju.edu.jo 18. Course Description: This course helps students learn the essentials for programming in Python 3 https://www.python.org/. Python is high-level programming language similar to Java, C++, or C#. This course provides students with the required skills to solve problems by implementing programs using Python. Topics include: fundamentals of Python programming, Object-Oriented programming using Python, Data Structures and Algorithms, and Python packages. This course is a lab-based course which includes in-class practical assignments and tasks. 19. Course aims and outcomes: A- Aims: The main goal of this course is to develop programming skills using Python for students. The excellent programming skills enable students to solve problems by designing solutions and implementing these solutions using Python. Objectives The main objectives of the certified software course are: 1- To understand the fundamentals of programming in Python, 2- To understand the object-oriented programming in Python, 3- To understand the data structures and algorithms in Python, 4- To use Python packages to implement a solution for complex problems. 5- To provide students with required skills to design and implement different applications. B- Intended Learning Outcomes (ILOs): Upon successful completion of this course students will be able to … Knowledge and Understanding: students should A1. Understand the fundamentals of programming using Python. A2. Understand the concepts of object-oriented programming using Python. A3. Understand the data structures and algorithms in Python. A4. Understand the concepts of Python Packages. Intellectual Skills: students should be able to: B1. Compare between the syntax of different high-level programming languages. B2. Compare between data structures in Python and other programming languages. B3. Compare between the different Python packages and their uses. Subject Specific Skills: students should be able to: C1. Be familiar with IDLE and Python shell for writing programs. C2. Be familiar with the errors that could be encountered while writing programs in Python. C3. Be able to identify and debug the errors that could be encountered while writing programs in Python. C4. Use the Python Packages to implement applications. Transferable Skills: students should be able to: D1. Work in groups as well as individually to write programs in Python. D2. Work individually to debug their programs. D3. Work in groups to design and implement a programming project using Python. 20. Topic Outline and Schedule: Week Topic Details Reference Teaching/Learning and Assessment Methods ILO s 1 Introduction Python Overview Installing and beginning use of Python 3 Elementary Programming Textbook: Chapters 1 and 2 e-learning website: Lecture Notes 1 T: Lecture L: Reading lecture notes and book chapters A: In class questions A.1 B.1 C.1 D.1 T: Lecture, hands-on exercises L: Reading lecture notes and book chapters, and practicing given exercises A: practical exercise T: Lecture, hands-on exercises L: Reading lecture notes and book chapters, and practicing given exercises A: practical exercise T: Lecture, hands-on exercises L: Reading lecture notes and book chapters, and practicing given exercises A: practical exercise T: Lecture, hands-on exercises L: Reading lecture notes and book chapters, and practicing given exercises A: practical exercise A.1 B.1 C.2 C.3 D.1 D.2 A.1 B.1 C.2 C.3 D.1 D.2 A.2 B.1 C.2 C.3 D.1 D.2 A.3 B.2 C.2 C.3 D.1 D.2 T: Lecture, hands-on A.4 2 3 4&5 7&8 9 Mathematical Functions, Strings ,and Objects. Selections Textbook: Chapter 3 & 4 e-learning website: Lecture Notes 2 Loops Functions Textbook: Chapter 5 & 6 e-learning website: Lecture Notes 3 Objects and Classes Inheritance and Polymorphism Textbook: Chapter 7 & 12 e-learning website: Lecture Notes 4 More on Strings and Special Methods Lists Multidimensional Lists Tuples, Sets, and Dictionaries Midterm Exam Files and Exception Handling Textbook: Chapter 10, 11, & 14 e-learning website: Lecture Notes 5 Textbook: Chapter 13 e-learning website: Lecture Notes 6 10 & 11 GUI Programming Using Tkinter Python CGI Programming Textbook: Chapter 9 e-learning website: Lecture Notes 6 Graphs and Applications Weighted Graphs and Applications Textbook: Chapter 22 & 23 e-learning website: Lecture Notes 7 Databases and content providers Sqlite3: http://www.sqlite.org/ e-learning website: Lecture Notes 8 14 Natural Language Toolkit NLTK: http://www.nltk.org/ e-learning website: Lecture Notes 9 15 Mining the Social Web e-learning website: Lecture Notes 10 12 13 16 Final Exam 21. Teaching Methods and Assignments: exercises L: Reading lecture notes and book chapters, and practicing given exercises A: practical exercise T: Lecture, hands-on exercises L: Reading lecture notes and book chapters, and practicing given exercises A: Midterm Exam T: Lecture, hands-on exercises L: Reading lecture notes and book chapters, and practicing given exercises A: practical exercise T: Lecture, hands-on exercises L: Reading lecture notes and book chapters, and practicing given exercises A: practical exercise T: Lecture, hands-on exercises L: Reading lecture notes and book chapters, and practicing given exercises A: practical exercise T: Lecture, hands-on exercises L: Reading lecture notes and book chapters, and practicing given exercises A: practical exercise A: Final exam B.3 C.2 C.3 D.1 D.2 A.4 B.3 C.2 C.3 D.1 D.2 A.4 B.3 C.2 C.3 D.1 D.2 A.4 B.3 C.2 C.3 D.1 D.2 A.4 B.3 C.2 C.3 D.1 D.2 A.4 B.3 C.4 D.1 D.2 D.3 Development of ILOs is promoted through the following teaching and learning methods: ILOs Teaching and Learning Method A1, A2, A3, A4, B1, B2, B3 Lecture C1, C2, C3, C4 Laboratory D1, D2, D3 in class practice, Home works and project 22. Evaluation Methods and Course Requirements: Opportunities to demonstrate achievement of the ILOs are provided through the following assessment methods and requirements: ILOs Assessment Method and Requirements A1, A2, A3, A4, B1, B2, B3 Exams and Assignments C1, C2, C3, C4 Exams and Assignments D1, D2, D3 Project and Presentation Mid Term exam 30% Home works 15% Project + homeworks 5% Final Exam 50% 23. Course Policies: A- Attendance policies: According to University regulations the maximum allowable absence 15% of number of lectures/semester B- Absences from exams and handing in assignments on time: • Every student is expected to completely adhere to the assignments and report strict deadlines, absolutely no exceptions will be given. على. لن يكون هناك امتحان تعويضي اال في حالة وجود عذر وحالة طارئة من المستشفىMid-Term •في حالة التغيب عن امتحان ال وحسب، وللمدرس الحق في قبول او رفض العذر،الطالب ابراز العذر لمدرس المادة في فتره ال تتجاوز الثالثة ايام من تاريخ االمتحان .التعليمات • Concerns or complaints should be expressed in the first instance to the module lecturer; if no resolution is forthcoming then the issue should be brought to the attention of the module coordinator (for multiple sections) who will take the concerns to the module representative meeting. Thereafter problems are dealt with by the Department Chair and if still unresolved the Dean and then ultimately the Vice President. For the final complaints, there will be a committee to review grading the final exam. C- Health and safety procedures: University regulations. D- Honesty policy regarding cheating, plagiarism, misbehavior: The honor code applies to all work turned in for this course including exams and assignments. It is important that you understand the solutions to all problems, and the best way to gain an understanding is to work them out and write them up by yourself. Hence the policy is that you must submit your own work. You may not share your work with other students, unless it is allowed as group. Violating the policy will be taken as a no submission state for the assignment. University regulations will be preserved at all times. E- Grading policy: 0-45 F 46-49 D- 50-52 D 56-58 C- 59-61 C 62-68 C+ 69-72 B- 73-76 B 77-82 B+ 53-55 D+ 83-86 A- 87-100 A F- Available university services that support achievement in the course: • For more details on University regulations please visit http://www.ju.edu.jo/Pages/Regulations.aspx. 24. Required equipment: Hardware: PCs Software: Python 3 25. References: Required book (s), assigned reading and audio-visuals: Y. Daniel Liang (2013) Introduction to Programming Using Python 3, Prentice Hall Recommended books, materials, and media: Python Software Foundation: https://www.python.org/ Download Python 3.4.2: https://www.python.org/downloads/ Python 3.4.2 documentation: https://docs.python.org/3/ Google's Python Class: https://developers.google.com/edu/python/ A good tutorial website; Python Tutor (external website). http://pythontutor.com/ 26. Additional information: Course description, Teaching materials, Assignments and Announcements are available in the course page on http://elearning.ju.edu.jo Name of Course Coordinator: Dr. Majdi Sawalha Signature: ------------------------- Date: 27/5/2015 Head of curriculum committee/Department: ------------------------- Signature: -------------------------------Head of Department: ------------------------- Signature: --------------------------------Head of curriculum committee/Faculty: ------------------------- Signature: -------------------------------Dean: ------------------------------------------- -Signature: --------------------------------- Copy to: Head of Department Assistant Dean for Quality Assurance Course File