ฉันใหม่ด้านวิทยาการคอมพิวเตอร์และการเขียนโปรแกรมและฉันสงสัยว่ามีความแตกต่างระหว่างวิทยาการคอมพิวเตอร์และการเขียนโปรแกรมหรือไม่? และคุณจะเลือกเรียนเพียงหนึ่งในมหาวิทยาลัยหรือทั้งคู่?
ฉันใหม่ด้านวิทยาการคอมพิวเตอร์และการเขียนโปรแกรมและฉันสงสัยว่ามีความแตกต่างระหว่างวิทยาการคอมพิวเตอร์และการเขียนโปรแกรมหรือไม่? และคุณจะเลือกเรียนเพียงหนึ่งในมหาวิทยาลัยหรือทั้งคู่?
คำตอบ:
วิทยาการคอมพิวเตอร์คือการศึกษาว่าคอมพิวเตอร์ทำอะไรได้บ้าง การเขียนโปรแกรมคือแนวปฏิบัติในการทำให้คอมพิวเตอร์ทำสิ่งต่าง ๆ
ดูรายละเอียดหลักสูตร / หลักสูตรที่เปิดสอนโดยมหาวิทยาลัยที่คุณสนใจเพื่อดูว่าหลักสูตรนั้นเป็นหลักสูตร CS หลักสูตรการเขียนโปรแกรมอย่างอื่น (เช่นวิศวกรรมซอฟต์แวร์) หรือแม้แต่การรวมกันข้างต้น หลักสูตรจำนวนมากที่โฆษณาว่า "วิทยาการคอมพิวเตอร์" มีองค์ประกอบการเขียนโปรแกรมที่สำคัญซึ่งอาจทำให้คุณสามารถนำส่วนต่างๆของหลักสูตรไปสู่การปฏิบัติหรืออาจเป็นไปเพื่อประโยชน์ของตนเองเพื่อให้คุณสามารถเรียนรู้ทักษะการทำโปรแกรม
ข้อแม้: 'วิทยาศาสตร์คอมพิวเตอร์' ได้กลายเป็นสนามที่เต็มไปด้วยโคลนในยุคปัจจุบันเพราะ (อย่างน้อยในสหรัฐอเมริกา) มหาวิทยาลัยไม่มีองศาใน "การเขียนโปรแกรม" ซึ่งหมายความว่าผู้ที่สนใจในการเขียนโปรแกรมจะต้องลงทะเบียนองศาวิทยาศาสตร์คอมพิวเตอร์และเป็นปฏิกิริยาต่อว่าโปรแกรมวิทยาศาสตร์คอมพิวเตอร์เน้นการเขียนโปรแกรมมากขึ้น
ที่กล่าวว่าวิทยาศาสตร์คอมพิวเตอร์นั้นเป็นวิทยาศาสตร์ทางคณิตศาสตร์อย่างยิ่ง - คณิตศาสตร์คอมพิวเตอร์อาจเป็นคำที่ดีกว่า มันเกี่ยวข้องกับการศึกษาทฤษฎีกราฟความซับซ้อนของอัลกอริทึมตรรกะที่เป็นทางการออโตมาตาและโดยทั่วไปแล้วโครงสร้างเชิงตรรกะใด ๆ ที่สามารถอธิบายการเปลี่ยนแปลงหรือการตอบสนองต่ออัลกอริทึม นักวิทยาศาสตร์คอมพิวเตอร์ในแง่คลาสสิกอาจให้เหตุผลเกี่ยวกับกฎที่ควบคุมระบบคอมพิวเตอร์ใด ๆ (รวมถึงคอมพิวเตอร์ที่ทันสมัย) โดยไม่จำเป็นต้องทราบรายละเอียดของการใช้งานในสถาปัตยกรรมปัจจุบัน พื้นหลังที่แข็งแกร่งในสาขาวิทยาศาสตร์คอมพิวเตอร์ช่วยให้คุณสามารถพัฒนา (หรือเรียกคืน) อัลกอริธึมที่ปรับขนาดได้อย่างมีประสิทธิภาพคาดการณ์การลดลงอย่างมีเหตุผลและเหตุผลอย่างชาญฉลาดเกี่ยวกับสิ่งที่สามารถใช้การได้
ตรงกันข้ามการเขียนโปรแกรมคือสิ่งที่บุคคลทำเมื่อใช้ภาษาการเขียนโปรแกรมเพื่อแปลงอัลกอริทึมเป็นสิ่งที่เครื่องสามารถทำได้ (นั่นควรทำให้เห็นได้ชัดว่าการเชื่อมต่ออย่างใกล้ชิดกับวิทยาการคอมพิวเตอร์และความสับสนเกิดขึ้นได้มาก) โปรแกรมเมอร์ (สัมพันธ์กับสภาพแวดล้อมและภาษา) ควรสามารถใช้อัลกอริธึมชุดใดก็ได้และแปลงร่างเป็นทั้งมนุษย์ - และเครื่องอ่านได้โดยการเขียนรหัส พื้นหลังที่แข็งแกร่งในการเขียนโปรแกรม (ตามองศา CS ส่วนใหญ่จะให้) ช่วยให้คุณสามารถเขียนโค้ดได้ดีขึ้นโดยที่คนอื่นสามารถเข้าใจโค้ดได้ง่ายขึ้นและประสบความสำเร็จมากขึ้นในการแสดงอัลกอริทึมที่คุณใช้
แน่นอนว่ามี crosstalk จำนวนมากและประสบการณ์ระดับสูงในหนึ่งจะสอดคล้องอย่างมากกับประสบการณ์การพัฒนาในอื่น ๆ - ตามที่ระบุไว้ CS Major มักจะเป็นโปรแกรมเมอร์ที่มีความสามารถและโปรแกรมเมอร์ที่มีประสบการณ์มาแล้ว หลักการมากมายของ CS คิดว่าฟิสิกส์และวิศวกรรม
วิธีที่ดีในการจดจำความแตกต่างคือถ้ามันต้องใช้คอมพิวเตอร์เพื่อดูว่ามันใช้งานได้หรือไม่ถ้าคุณสามารถใช้ดินสอและกระดาษมันก็เป็นวิทยาศาสตร์คอมพิวเตอร์
วิทยาการคอมพิวเตอร์เกี่ยวข้องกับรากฐานทางทฤษฎีของข้อมูลการคำนวณและเทคนิคการปฏิบัติสำหรับการนำไปใช้และการประยุกต์ใช้ http://en.wikipedia.org/wiki/Computer_science
~
วิทยาการคอมพิวเตอร์ไม่ได้เกี่ยวกับคอมพิวเตอร์มากไปกว่าดาราศาสตร์เป็นเรื่องเกี่ยวกับกล้องโทรทรรศน์ Edsger Dijkstra
การเขียนโปรแกรมเป็นงานฝีมือในการสร้างโปรแกรมคอมพิวเตอร์
วิทยาการคอมพิวเตอร์จากมุมมองของฉันควรจะเป็นวิทยาศาสตร์อย่างหนักเช่นฟิสิกส์
มันเกี่ยวข้องกับการศึกษาของคอมไพเลอร์และคอมไพเลอร์กำเนิดแนวคิดสถาปัตยกรรมฮาร์ดแวร์รูปแบบต่างๆของระบบตัวเลขขั้นตอนวิธีและประสิทธิภาพ / อัลกอริทึมประสิทธิภาพและทฤษฎีที่อยู่เบื้องหลังการดำเนินการทางคณิตศาสตร์ในการประมวลผล เมื่อฉันเรียน CS ที่มหาวิทยาลัยเราใช้เวลามากมายกับผู้ประกอบการเรียนรู้เกี่ยวกับความแตกต่างระหว่างการรวบรวมการเชื่อมโยงและการตีความเป็นต้น
สิ่งนี้ทำโดยการเขียนโปรแกรมมากมายนั่นคือการเขียนโค้ดที่รวบรวมหรือเรียกใช้ผ่านล่ามด้วยความตั้งใจที่จะสร้างผลลัพธ์เพื่อแก้ปัญหา นั่นคือการเขียนโปรแกรมคือการกระทำของการแก้ปัญหาที่สามารถอธิบายได้ด้วยความรู้จากวิทยาการคอมพิวเตอร์ เป็นประเภทของ Pure Maths / คณิตศาสตร์ประยุกต์
คุณไม่จำเป็นต้องมีวิทยาการคอมพิวเตอร์เป็นโปรแกรมเมอร์ แต่โปรแกรมเมอร์ที่มีพื้นฐานด้าน CS จะมีความเข้าใจในพฤติกรรมของโปรแกรมคอมพิวเตอร์อย่างลึกซึ้ง
ฉันจะพูดคำของคุณเป็น "ความแตกต่างระหว่างวิทยาการคอมพิวเตอร์และวิศวกรรมซอฟต์แวร์คืออะไร" หลังจากทั้งหมดเกี่ยวข้องกับการเขียนโปรแกรม
วิทยาการคอมพิวเตอร์เป็นการศึกษาทางทฤษฎีเกี่ยวกับการคำนวณว่าอะไรคืออะไรและเป็นไปไม่ได้ ดูเหมือนสิ่งต่าง ๆ เช่นทฤษฎีบท Godels และปัญหาการหยุดชะงัก
วิศวกรรมซอฟต์แวร์เป็นวิธีการเขียนโปรแกรมที่ทำสิ่งที่พวกเขาได้รับการออกแบบให้ทำและบำรุงรักษาได้
วิทยาการคอมพิวเตอร์เป็นทฤษฎีของการเขียนโปรแกรม การเขียนโปรแกรมคือการใช้งาน
วิทยาการคอมพิวเตอร์ ... เป็นวิธีการทางวิทยาศาสตร์และการปฏิบัติเพื่อการคำนวณและการประยุกต์ใช้ นักวิทยาศาสตร์คอมพิวเตอร์มีความเชี่ยวชาญในทฤษฎีการคำนวณและการออกแบบระบบการคำนวณ
สาขาย่อยของมันสามารถแบ่งออกเป็นหลากหลายสาขาวิชาทฤษฎีและภาคปฏิบัติ บางสาขาเช่นทฤษฎีความซับซ้อนในการคำนวณ (ซึ่งสำรวจคุณสมบัติพื้นฐานของปัญหาการคำนวณ) นั้นเป็นนามธรรมสูงในขณะที่สาขาต่าง ๆ เช่นคอมพิวเตอร์กราฟฟิคเน้นการใช้งานจริงในโลกของการมองเห็น ยังสาขาอื่น ๆ มุ่งเน้นความท้าทายในการใช้การคำนวณ ตัวอย่างเช่นทฤษฎีภาษาการเขียนโปรแกรมพิจารณาวิธีการต่างๆในการอธิบายการคำนวณในขณะที่การศึกษาการเขียนโปรแกรมคอมพิวเตอร์เองตรวจสอบแง่มุมต่าง ๆ ของการใช้ภาษาโปรแกรมและระบบที่ซับซ้อน ปฏิสัมพันธ์ระหว่างมนุษย์กับคอมพิวเตอร์พิจารณาความท้าทายในการทำให้คอมพิวเตอร์และการคำนวณมีประโยชน์ใช้งานได้และเข้าถึงได้โดยมนุษย์ในระดับสากล ...
หากการเขียนโปรแกรมเป็นช่างไม้วิทยาศาสตร์คอมพิวเตอร์ก็คือสถาปัตยกรรม / การออกแบบ
แก้ไข
ข้อมูลเพิ่มเติม: ในงานช่างไม้คุณสนใจในสิ่งต่าง ๆ เช่นสิ่งที่จะสร้างสิ่งต่าง ๆ ใน (กรอบแล้ว subfloor แล้วผนังภายในแล้ว drywall ฯลฯ ) คุณสร้างมันอย่างไรเพื่อที่จะใช้เวลาในการสร้างน้อย แต่สามารถแก้ไขได้ในภายหลัง
ในกรณีของสถาปัตยกรรม (ส่วนหนึ่งของมันเหมือนกับ CS ต่อไป) คุณกังวลกับสิ่งต่าง ๆ เช่นความสามารถของวัสดุคุณต้องใช้ลำแสงขนาดใหญ่เท่าไรในการรองรับกำแพง / หลังคานี้?
ในทำนองเดียวกัน CS เป็นเรื่องเกี่ยวกับความสามารถทางทฤษฎีของคอมพิวเตอร์ซึ่งการเขียนโปรแกรมเป็นเรื่องเกี่ยวกับการประยุกต์ใช้ความรู้นั้น
วิทยาการคอมพิวเตอร์คือการเขียนโปรแกรมเป็นฟิสิกส์คือวิศวกรรมเครื่องกล
วิทยาศาสตร์คอมพิวเตอร์เป็นทฤษฎีใช้วิธีการทางวิทยาศาสตร์และคณิตศาสตร์ในการให้ข้อมูลและการคำนวณ
การเขียนโปรแกรมคอมพิวเตอร์เป็นจริงมันเป็นกระบวนการของการออกแบบการเขียนการทดสอบการแก้จุดบกพร่องและการบำรุงรักษาซอร์สโค้ดของโปรแกรมคอมพิวเตอร์
พวกมันแตกต่างกัน แต่เป็นสาขาที่เกี่ยวข้อง ทั้งสองได้รับประโยชน์จากกันและกัน
การศึกษาระดับปริญญาในสาขาวิทยาศาสตร์คอมพิวเตอร์นั้นมีขอบเขตกว้างขวางและครอบคลุมทฤษฎีที่อยู่เบื้องหลังการคำนวณ ปริญญาในการเขียนโปรแกรมคอมพิวเตอร์บนมืออื่น ๆ ที่มุ่งเน้นการพัฒนาทักษะการเขียนโปรแกรมหรือการเขียนโปรแกรมของนักเรียนโดยการฝึกอบรมพวกเขาในการเขียนโปรแกรมภาษาที่แตกต่างกัน หากคุณสับสนคุณสามารถเรียกดูรายละเอียดของโปรแกรมทั้งสองนี้ได้ที่ California College San Diego นั่นอาจให้ความกระจ่างเกี่ยวกับขอบเขตขององศาเหล่านี้กับคุณ!
วิทยาการคอมพิวเตอร์ : เป็นการศึกษาการแก้ปัญหาด้วยคอมพิวเตอร์ / วิธีการคำนวณ
การเขียนโปรแกรมคอมพิวเตอร์: มันเป็นส่วนหนึ่งของกระบวนการแก้ปัญหาที่ทำขึ้นในสาขาวิทยาศาสตร์คอมพิวเตอร์ การเขียนโปรแกรมคอมพิวเตอร์เป็นเพียงส่วนย่อยของวิทยาศาสตร์คอมพิวเตอร์
การเขียนโปรแกรมเป็นเรื่องเกี่ยวกับคน ผู้คนอ่านเขียนและดูแลรักษาโค้ด วิทยาการคอมพิวเตอร์เป็นเรื่องเกี่ยวกับคณิตศาสตร์ - พวกเขาใช้และอธิบายอัลกอริทึม
การเขียนโปรแกรม (การพัฒนา) เป็นเรื่องเกี่ยวกับการทำเงิน วิทยาศาสตร์เป็นเรื่องของการค้นพบสิ่งใหม่ ๆ