الوصـف الشامـل للإختـصاص 📚
This course introduces students to the essential concepts of computer science, with a
focus on programming through the Java language. We will delve into various computer
science disciplines, including networks, AI, robotics, graphics, and computer
architecture. Additionally, students will gain exposure to C and C++ programming to
understand their roles and how they differ from Java.
Starting with the basics of computer organization, this course builds a solid foundation
in programming, emphasizing Java. You'll learn fundamental programming concepts such as
object-oriented programming, data structures, and algorithmic thinking. Instead of
traditional exams, this course emphasizes real-world projects that will help you apply
and reinforce the concepts you learn.
Upon completing this course, you will be able to:
- Understand key disciplines within computer science, such as networking, AI, and
computer architecture, to inform future learning paths.
- Comprehend the main hardware components of modern computer systems and the
interaction between software and hardware.
- Develop and implement algorithms to solve problems using Java.
- Write Java programs utilizing control structures like conditionals, loops, and
functions.
- Select appropriate data structures (e.g., arrays, lists) and understand Java’s
memory management system.
- Apply object-oriented programming principles in Java.
- Engage in practical programming tasks and complete a comprehensive project that
synthesizes course concepts.
Prerequisites:
None
Learning Objectives:
- Understand fundamental programming principles in Java.
- Develop practical skills to solve computational problems.
- Learn the basics of computer organization and program execution.
- Explore algorithmic efficiency and the importance of data structures.
- Grasp the core concepts of object-oriented programming in Java.
Course Format:
- Lecture Times: Monday, Wednesday, and Friday, 3:00 pm - 6:30 pm
- Location: Room GB-105, ZielBit Academy
- Instructor: This course is based on the academic expertise of
distinguished professionals, including Profs, Master & Bachelor degrees from THU &
USC Universities, and materials adapted from the Technical University of Ulm for
Applied Science and the University of Southern California.
Grading Structure:
- Participation & Activities: 30%
- Programming Assignments: 40%
- Final Project: 30%
Certification:
Upon successful completion of this course, you will earn a ZielBit Certificate,
authorized by IHK Ulm, recognizing your proficiency in Java programming.
Textbook:
Java Programming: Program Design Including Data Structures by D.S. Malik, Course
Technology, 2011 (ISBN 978-1133526322).
Course Outline:
- Week 1: Overview of Computer Science and Computer Organization
- Introduction to the field and curriculum.
- Basics of computer systems and software.
- Week 2: Basic Program Design and Abstractions + Programming
Environment
- Understanding Java programming environments, editors, and debuggers.
- Reading: Chapters 2 and 3
- Week 3: Algorithmic Thinking and Control Structures
- Introduction to algorithms, Big-O notation, and control structures.
- Activity: Develop a simple Java program using loops and conditionals.
- Week 4: Program Decomposition and Functions
- Decompose problems into functions and understand their importance in Java.
- Reading: Chapters 4 and 5
- Week 5: Arrays and Memory Management in Java
- Work with 1-D arrays, understand memory allocation, and compare with
C/C++.
- Activity: Implement search algorithms in Java.
- Week 6: 2-D Arrays and File I/O
- Manipulate 2D arrays and perform file operations in Java.
- Activity: Develop a Java program to process and manipulate text files.
- Week 7: Introduction to Object-Oriented Programming
- Explore classes, objects, and basic principles of OOP in Java.
- Reading: Chapters 9 and 10
- Week 8: Data Structures in Java
- Introduction to data structures such as lists, stacks, and queues.
- Activity: Implement linked lists and basic data structures.
- Week 9: Advanced Object-Oriented Programming
- Learn about inheritance, polymorphism, and abstract classes.
- Project: Begin work on a comprehensive Java project integrating course
concepts.
- Weeks 10-12: Selected Algorithms and Advanced Topics in Java
- Explore sorting algorithms, recursion, and more complex data structures.
- Activity: Apply sorting and searching algorithms in Java.
- Weeks 13-14: Project Work and Review
- Focus on completing the programming project.
- Open lab sessions for project help and review of course material.
- Week 15: Final Review and Project Presentations
- Finalize projects and present them for evaluation.
Course Policies:
- Attendance: Attendance is mandatory, and students are expected to
participate actively in all sessions.
Note: This course is based on materials and methodologies adapted from
the Technical University of Ulm for Applied Science - Germany & University of Southern
California - USA.
less
الوصـف الشامـل للإختـصاص 📚
This course introduces students to the essential concepts of computer science, with a
focus on programming through the Java language. We will delve into various computer
science disciplines, including networks, AI, robotics, graphics, and computer
architecture. Additionally, students will gain exposure to C and C++ programming to
understand their roles and how they differ from Java.
Starting with the basics of computer organization, this course builds a solid foundation
in programming, emphasizing Java. You'll learn fundamental programming concepts such as
object-oriented programming, data structures, and algorithmic thinking. Instead of
traditional exams, this course emphasizes real-world projects that will help you apply
and reinforce the concepts you learn...
more