![](/documents/1230688/0/1200px-Sharifee1.jpg/8c58b63b-753a-7245-0424-0999b3927f66?t=1629537943623&download=true)
25767: برنامهسازی شیءگرا
نام درس: برنامهسازی شیءگرا (Object Oriented Programming)
شماره درس: 25767
پیشنیاز(ها): 25768 (مبانی برنامهسازی)
همنیاز(ها): -
تعداد واحد: 3
مقطع: کارشناسی
آخرین ویرایش: آذر 1397
توضیحات:
سرفصلها:
مراجع:
شماره درس: 25767
پیشنیاز(ها): 25768 (مبانی برنامهسازی)
همنیاز(ها): -
تعداد واحد: 3
مقطع: کارشناسی
آخرین ویرایش: آذر 1397
توضیحات:
هدف این درس آشنایی دانشجویان با برنامهسازی شیءگرا است. این درس بر مبنای زبان Java تدریس میشود و تنها در انتهای نیمسال و در حد یک آشنایی اولیه با زبان Python نیز برای دانشجویان فراهم میگردد. همچنین در حین نیمسال تحصیلی مباحث ساده ساختمان داده و الگوریتم نیز در لابهلای مباحث و تمرینها گنجانده میشود.
سرفصلها:
- Outline:
- Course outline, rules, homework and project submission system (recommended: Quera), grading, etc.
- Java basics:
- Basic concepts of Java, JVM, JRE, JDK, platform independence, installation, Java IDE (recommended: IntelliJ Community)
- Basic Syntax:
- CamleCase style, data types, variables, assignment, casting, final, conditional statements (if-else, switch-case), for, while, do-while, break and continue
- Comments for Java Doc
- Methods, Scan, print (print, printf, println)
- Debugging in IDE
- Simple Java data structures:
- Arrays, multidimensional arrays, pass/return array to/from methods, modify array inside a method
- String class and its methods, regular expression (regex)
- Basics of OOP:
- Concepts of class and object, field, method, create new object, encapsulation
- this, constructor, multiple constructors, private and protected, setter and getter, modify an object field, pass/return object to/from methods
- Package:
- Package and import
- Java data structures:
- LinkedList, two-way LinkedList, ArrayList, List, Heap, Stack, Queue, and their complexity analysis
- Basic sort & search algorithms:
- Bubble sort, insertion sort, merge sort, quick search
- OOP:
- Static methods, statics fields, why cannot use static fields in non-static methods, when to use static
- Overloading methods
- Inheritance (is a), class hierarchies, super, overriding methods
- Abstract class, abstract method, inheritance for abstract classes
- Polymorphism
- Interfaces, difference of abstract class and interface, inheritance for interfaces
- Inner class (has a), why and when to use inner class
- Cloning objects and arrays, how to write a clone function for an object
- Four principles of OOP
- Exception:
- Exception, throw, try-catch-finally
- Memory management:
- Garbage collection
- IO:
- OS, file read/write, how to create files and folders, and how to check the existence of files and folders.
- GUI:
- Introduction to Swing
- Python:
- Introduction to Python programming
مراجع:
- https://www.tutorialspoint.com/java
- https://www.w3schools.in/java-tutorial/intro
- Bruce Eckel, Thinking in Java, Prentice Hall, 4th Edition
آخرین بهروزرسانی: 3 / 3 / 1403