برمجة Java: المصفوفات، والقوائم، والبيانات المصنفة

所在平台: Coursera

课程主页: https://www.coursera.org/learn/java-programming-arrays-lists-data-ar

课程评论:没有评论

第一个写评论        关注课程

课程简介

课程名称:Java编程:数组、列表和分类数据 课程概述:本课程旨在通过学习新的数据结构,帮助学员巩固在“Java编程:通过程序解决问题”中掌握的软件工程技能。学员将利用这些数据结构创建更复杂的程序,并使用Java的面向对象特性。在课程结束时,学员将能够编写加密程序以及破译自己的加密算法。 完成本课程后,学员将能够: 1. 从文件中读取和写入数据; 2. 解决与数据文件相关的问题; 3. 进行数据的定量分析(例如,找出最大值、最小值和平均值); 4. 使用数组或ArrayList来存储和处理数据; 5. 结合多个类来解决更大的问题; 6. 在Java中使用迭代器和集合(包括映射)。 课程大纲: 1. 部分一:加密:保护信息的机密性 - 学习内容:了解加密基础和信息隐私及安全性。学习使用的简单加密系统及其实现和破解方法。掌握字符串处理和数组应用。 - 学习成果:将字符串合并、构建Java程序中的字符串、使用数组存储和处理数据、重新构建程序以提高组织性,并实践高效算法设计。 2. 部分二:GladLibs:模板故事 - 学习内容:编写单词计数器分析输入文本文件,使用ArrayList和HashMap进行单词替换,创建用于模板的新列表。 - 学习成果:编程能力提升,同时在随机故事生成项目GladLibs中应用所学。 3. 部分三:Web服务器日志:从日志到访问量 - 学习内容:了解Web服务器日志如何存储网站访问者的信息,编写程序提取用户的IP地址及访问日期和时间。 - 学习成果:读取Web服务器日志,计算网站的独立访客数量及各访客的访问次数。 4. 部分四:小项目:维吉尼亚密码 - 学习内容:开发复杂的维吉尼亚密码解码程序,优化程序以处理不同长度的密钥,加大程序范围以处理多种语言的信息。 - 学习成果:有效使用HashSet和HashMap,扩展算法解决更广泛复杂的问题,设计和修改包含复杂类和方法的数据程序。 此课程将提升学员的Java编程技能,使其能够处理更复杂的软件开发任务。

课程大纲

Part: 1

Title:التشفير: الحفاظ على سرية المعلومات

Description:في هذه الوحدة، ستتعرف على أساسيات التشفير وعلم الحفاظ على خصوصية المعلومات وأمانها. ستتعلم المزيد عن أنظمة التشفير الأبسط، والتي تم استخدامها من الإمبراطورية الرومانية وحتى أوائل القرن العشرين. ستتعلم كيفية تنفيذ هذه الشفرات، وكذلك كيفية كسرها. لحل هذه المشكلات، ستتعامل بصورة أكبر مع معالجة السلاسل، ولكنك ستتعرف أيضًا على المصفوفات—وهي أسلوب لتخزين تسلسل العناصر القابلة للفهرسة. ستكون قادرًا على: (1) دمج السلاسل باستخدام التسلسل؛ (2) بناء سلاسل داخل برنامج Java باستخدام StringBuilder؛ (3) استخدام المصفوفات لتخزين مجموعات البيانات ومعالجتها؛ (4) إعادة بناء برامجك لتحسين التنظيم باستخدام المبادئ الموجهة للكائنات؛ (5) ممارسة تصميم الخوارزمية الفعال.

Part: 2

Title:GladLibs: قصص من القوالب

Description:بعد الانتهاء من هذه الوحدة، ستتمكن من (1) برمجة عداد تكرار الكلمات لتحليل أي ملف نصي مدخل، (2) تحديد كلمات من قائمة واستبدالها في قالب مستند باستخدام كل من ArrayList وHashMap، (3) إنشاء قوائم جديدة لاستخدامها في القوالب، (4) التعرف على التعليمات البرمجية الهشة، بالإضافة إلى (5) تحسين التعليمات البرمجية باستخدام تصميم مرن موجه للكائنات. ستكتسب هذه المهارات في إطار تطوير قصة عشوائية والتي نسميها GladLibs. قد تكتشف أن الأسود الصلعاء تغير حياة الناس، أو أن الديناصورات ذات الريش تنجز الأشياء في لمح البصر. ونأمل بأن تستمتع بتطوير مهارات Java الخاصة بك هذا الأسبوع!

Part: 3

Title:سجلات خادم الويب: من السجلات إلى الزيارات

Description:في هذه الوحدة، ستتعرف على كيفية قيام سجلات خادم الويب بتخزين المعلومات حول زوار موقع الويب، وستكتب برامج للوصول إلى معلومات مثل عنوان IP للمستخدم وتاريخ الوصول ووقته وغير ذلك. باستخدام برامج Java التي تكتبها في هذه الوحدة، ستتمكن من (1) قراءة المعلومات من سجل خادم الويب و(2) حساب عدد الزوار المميزين لموقع الويب الخاص بك، و(3) حساب عدد المرات التي يستخدم فيها الزائر موقع الويب الخاص بك.

Part: 4

Title:مشروع صغير: شفرة فجنير

Description:في هذه الوحدة، ستقوم بتطوير برنامج لفك شفرة فجنير، وهو إصدار أكثر تعقيدًا من شفرة قيصر. ستعمل على تحسين برنامجك في ثلاث مراحل: أولًا فك تشفير الرسائل حيث تعرف اللغة وطول المفتاح، ثم إضافة القدرة على معالجة الرسائل التي يكون طول المفتاح فيها غير معروف، ثم توسيع البرنامج لمعالجة الرسائل في مجموعة من اللغات المحتملة. ومن خلال هذا المشروع، ستكون قادرًا على (1) استخدام HashSet وHashMap بشكل فعال، (2) توسيع إحدى الخوارزميات من خلال حل مشكلة أبسط للتعامل مع مشاكل أوسع وأكثر تعقيدًا، و(3) تصميم التعليمات البرمجية وتعديلها للبرنامج الذي يتضمن مجموعة أكثر تعقيدًا من الفئات والطرق والبيانات.

课程评论(0条)

课程详情

يمكنك الاعتماد على المهارات الهندسية للبرامج التي تعلمتها في "برمجة Java: حل المشكلات باستخدام البرامج" من خلال تعلم بني بيانات جديدة. استخدم بني البيانات هذه لإنشاء برامج أكثر تعقيدًا تستخدم خصائص Java الموجهة للكائن. في نهاية الدورة التدريبي، سيكون بإمكانك كتابة برنامج تشفير وبرنامج لكسر خوارزمية التشفير الخاصة بك. بعد الانتهاء من هذه الدورة التدريبي، سيكون بإمكانك: 1. قراءة البيانات وكتابتها من/إلى الملفات؛ 2. حل المشكلات المتعلقة بملفات البيانات؛ 3. إجراء تحليلات كمية للبيانات (على سبيل المثال، إيجاد الحدود القصوى والحدود الدنيا والمعدلات المتوسطة)؛ 4. تخزين البيانات ومعالجتها في مصفوفة أو Arraylist؛ 5. الجمع بين فئات متعددة لحل مشكلات أكبر؛ 6. استخدام العناصر التكرارية والمجموعات (بما في ذلك الخرائط) في Java.

课程标签

0人关注该课程

主题相关的课程