Introduction to Script Programming/Python - 11781 - CSCI 6651 - 02
Jan 20, 2021 - May 12, 2021
9:35 am - 12:15 pm, Saturdays
CSCI 6651 - Introduction to Script Programming/Python
Prerequisite: CSCI 6610. Techniques and tools for developing simple scripts in Python. It introduces Python by a comparative approach and explores the Python libraries and their applications to varied tasks. Individual scripting projects will be assigned. Knowledge of C and/or Java is required. 3 credit hours.
3.000 Credit hours
3.000 Lecture hours
Instructor:
Gulnora(Gula) Nurmatova
Class Structure
Submitting Homework
Your homework will NOT be graded for its correctness, it will only be graded for presence and being submitted on time. I will go through your work and provide comments if you submit your homework at least 24 hours before the class, i.e. Friday before 9AM.
Presence of each of your home works submitted on time counts for only 1% of the total of your grade and serves as the prep work for the timed 15-30 min quiz at the beginning of every lecture, which will be about 3% of the total of your grade, hence please do your own work and do it on time, it's only for your benefit.
Midterm and Final exams
Both exams will be up to 3 individualized programming assignments that will have to be completed within a certain period of time, you will be able to use absolutely any resource available. I will provide sample assignments ahead of time to use for practice. There will be a rubric posted prior to the exam, and here is general guideline:
Communication
Punctuality
At the beginning of every class (15 min into the class, 9:50AM) we will have quizzes, if you are late to the quiz, you will have to complete it in the remaining time, and if you miss the time slot without prior reason, you will lose all the points on the quiz. At the end of the course I will drop one or two worst grade quizzes for all students.
University-wide academic policies
Jan 20, 2021 - May 12, 2021
9:35 am - 12:15 pm, Saturdays
CSCI 6651 - Introduction to Script Programming/Python
Prerequisite: CSCI 6610. Techniques and tools for developing simple scripts in Python. It introduces Python by a comparative approach and explores the Python libraries and their applications to varied tasks. Individual scripting projects will be assigned. Knowledge of C and/or Java is required. 3 credit hours.
3.000 Credit hours
3.000 Lecture hours
Instructor:
Gulnora(Gula) Nurmatova
Class Structure
- This is a fully remote class, cameras being on is not required but highly recommended as seeing your body language provides a feedback for me
- Each class we will spend some time solving programming challenges from leetcode and other sources together using Python
- Your homework will be a prep work for the 15 min quiz at the beginning of each lecture, starting the second lecture hence, I am going to expect your homework programs shared on the github, submitted prior to the relevant quiz date/time.
- In addition to containing questions about the homework the quizzes will cover the previous class material.
- Some of questions from previous class will be re-used, however quizzes and exams will not be same
Submitting Homework
Your homework will NOT be graded for its correctness, it will only be graded for presence and being submitted on time. I will go through your work and provide comments if you submit your homework at least 24 hours before the class, i.e. Friday before 9AM.
Presence of each of your home works submitted on time counts for only 1% of the total of your grade and serves as the prep work for the timed 15-30 min quiz at the beginning of every lecture, which will be about 3% of the total of your grade, hence please do your own work and do it on time, it's only for your benefit.
- If you do not have a GitHub account, please create one and create a repository called "python"
- For the homework submission you will just need to send the the link to your homework repo, that's it.
- Organize your homework into folders, you will often have more than one program you will be submitting.
Midterm and Final exams
Both exams will be up to 3 individualized programming assignments that will have to be completed within a certain period of time, you will be able to use absolutely any resource available. I will provide sample assignments ahead of time to use for practice. There will be a rubric posted prior to the exam, and here is general guideline:
- I will ask you to set up a git file(s) for the exam submissions prior to the exam. your code will be submitted via git.
- Program should execute and do what it is asked to do ~50% of the grade, there may be some additional info I may require which you will need to add in the comments
- Edge cases coverage ~20% of the grade
- Code cleanness ~10%
- Decision making ~20%
Communication
- Please use canvas as much as possible for communication so that other students can answer your questions if I don't see them first.
- I have a demanding full-time job and will not be available until about 6PM on work days.
- If I notice majority of students struggling with a homework, I will postpone the quiz and will go over the material in the class, BUT I need to know ahead of time, not in the beginning of the class,. All such decisions will be made by 9PM on Friday before the class.
- DO NOT message and call me on my personal phone, unless it is an emergency
Punctuality
At the beginning of every class (15 min into the class, 9:50AM) we will have quizzes, if you are late to the quiz, you will have to complete it in the remaining time, and if you miss the time slot without prior reason, you will lose all the points on the quiz. At the end of the course I will drop one or two worst grade quizzes for all students.
University-wide academic policies
Lecture | Date | Content |
Lecture 1 | Python fundamentals, Variables and assignments, booleans, numbers, strings, branching/conditionals | |
Lecture 2 | Lists, loops, reading user input | |
Lecture 3 | Structures, functions, modules | |
Lecture 4 | Dictionaries, structures, modules | |
Lecture 5 | Functions, variable scope, modules | |
Lecture 6 | cli, files, regex, pickle, shelve | |
Lecture 7 | Midterm Exam | |
Lecture 8 | Exceptions, classes, inheritance | |
Lecture 9 | DB, Flask, pip | |
Lecture 10 | Flask, gRPC, venv, docker | |
Lecture 11 | Django, GUI | |
Lecture 12 | WebSockets, System Monitoring, pygame | |
Lecture 13 | Data Structures and Algorithms | |
Lecture 14 | Subprocesses, threads, multiprocessing | |
Lecture 15 | Final Exam |
Grading:
Home Works presence - 10%, 1% for each homework submitted on time. 0.75% submitted late.
Quizzes 40%, One or two worst grade quizzes will be dropped for all students
Midterm Exam 25%
Final Exam 25%
Letter Grades - Graduate:
97% - 100% A+
93% - 96% A
89% - 92% A-
85% - 88% B+
81% - 84% B
77% - 80% B-
73% - 76% C+
69% - 72% C
Letter Grades - Undergraduate:
95% - 100% A+
90% - 95% A
85% - 90% A-
80% - 85% B+
75% - 80% B
70% - 75% B-
65% - 70% C+
60% - 65% C
Office of The University Registrar
University of New Haven
300 Boston Post Road
West Haven, CT 06516
Home Works presence - 10%, 1% for each homework submitted on time. 0.75% submitted late.
Quizzes 40%, One or two worst grade quizzes will be dropped for all students
Midterm Exam 25%
Final Exam 25%
Letter Grades - Graduate:
97% - 100% A+
93% - 96% A
89% - 92% A-
85% - 88% B+
81% - 84% B
77% - 80% B-
73% - 76% C+
69% - 72% C
Letter Grades - Undergraduate:
95% - 100% A+
90% - 95% A
85% - 90% A-
80% - 85% B+
75% - 80% B
70% - 75% B-
65% - 70% C+
60% - 65% C
Office of The University Registrar
University of New Haven
300 Boston Post Road
West Haven, CT 06516