สาขาวิชาวิศวกรรมซอฟต์แวร์และวิทยาการคอมพิวเตอร์ควรแยกจากกันหรือไม่? [ปิด]


19

เป็นเวลาหลายทศวรรษที่การได้รับการยอมรับให้เป็นนักพัฒนาซอฟต์แวร์คือ "Compter Science"
เรามีคำถามสองสาม ข้อเกี่ยวกับว่าระดับนั้นเป็นการเตรียมนักเรียนเพื่อพัฒนาซอฟต์แวร์หรือไม่

โรงเรียนบางแห่งในช่วง 8 ปีที่ผ่านมาเริ่มเสนอสาขาวิชาที่แตกต่างหลากหลายในการเขียนโปรแกรม การใช้หลักสูตรจากโรงเรียนของฉัน:

  • วิทยาการคอมพิวเตอร์ซึ่งเริ่มต้นด้วยหลักสูตรการเขียนโปรแกรมอินโทรในปีแรกจากนั้นมุ่งเน้นไปที่วิทยาศาสตร์คอมพิวเตอร์เชิงทฤษฎีอัลกอริทึมและสิ่งต่าง ๆ ของระบบปฏิบัติการ ชั้นเรียนส่วนใหญ่เกี่ยวข้องกับโครงการขนาดเล็กและการบ้านหลายอย่างทำเดี่ยวหรือเป็นคู่
  • วิศวกรรมซอฟต์แวร์ซึ่งเริ่มต้นด้วยหลักสูตรการเขียนโปรแกรมอินโทรเดียวกันนั้นมีทฤษฎีเพียงไม่กี่คลาสและจากนั้นจะเข้าสู่การพัฒนาซอฟต์แวร์ (การทดสอบวิธีการกระบวนการตัวชี้วัดซอฟต์แวร์การรวบรวมความต้องการ) และการออกแบบซอฟต์แวร์ (การออกแบบระบบกระจายการออกแบบระบบข้อมูล การออกแบบตามเวลาจริง / การฝังการออกแบบระบบย่อย ฯลฯ )

โรงเรียนที่แตกต่างกันทำแตกต่างกันดังนั้นข้างต้นเป็นเพียงตัวอย่างในโลกแห่งความจริงที่ฉันคุ้นเคย สิ่งที่ฉันถามคือมีความจำเป็นสำหรับวิชาเอกที่แตกต่างกันในการเขียนโปรแกรมหรือไม่?


1
ไม่ได้จริงๆ วิธีการเรียนรู้ทักษะเหล่านี้ไม่ได้เป็นการสอนหลักสูตรให้กับพวกเขา แต่เพื่อให้พวกเขาทำงานจริงในโครงการ
Casebash

อะไรที่ทำให้คุณคิดว่ามันไม่ใช่ RIT เสนอทั้งสองแบบ
Andy

แอนดี้: ฉันรู้ - ฉันไปที่ RIT และได้รับปริญญา SE ฉันถูกถามว่าควรแยกจากกันหรือไม่ :)
Fishtoaster

คำตอบ:


28

ใช่พวกเขาควรจะเป็น

ความสัมพันธ์ระหว่างวิทยาการคอมพิวเตอร์และวิศวกรรมซอฟต์แวร์นั้นเหมือนกับความสัมพันธ์ระหว่างฟิสิกส์กับวิศวกรรมเครื่องกล หนึ่งให้พื้นหลังทางทฤษฎีในขณะที่อื่น ๆ ใช้ทฤษฎีเหล่านั้นพร้อมกับหลักการวิศวกรรมที่ดีและนำไปใช้กับการออกแบบและการใช้งานซอฟต์แวร์

คุณต้องการทั้งคู่เพื่อผลิตซอฟต์แวร์ใหม่และดีกว่า การศึกษาด้านวิทยาการคอมพิวเตอร์ที่ดีจะฝึกอบรมผู้คนในการสร้างอัลกอริธึมใหม่และดีกว่าโครงสร้างข้อมูลภาษาโปรแกรมและกระบวนทัศน์คอมไพเลอร์และอื่น ๆ อีกมากมายที่สามารถนำมาใช้เพื่อปรับปรุงระบบซอฟต์แวร์ ในทางกลับกันการศึกษาด้านวิศวกรรมซอฟต์แวร์ที่ดีนั้นจะฝึกฝนให้คุณใช้เครื่องมือและความรู้เหล่านี้ผ่านการศึกษาทางวิทยาศาสตร์เกี่ยวกับการคำนวณพร้อมกับความรู้เกี่ยวกับวงจรชีวิตการพัฒนาซอฟต์แวร์และแบบจำลองกระบวนการเพื่อสร้างระบบที่ลูกค้าต้องการ .


2
การเปรียบเทียบทางฟิสิกส์ / วิศวกรรมเป็นสิ่งที่ฉันใช้บ่อย เราไม่จ้างนักฟิสิกส์เพื่อออกแบบและสร้างสะพานทำไมเราจ้างนักวิทยาศาสตร์คอมพิวเตอร์เพื่อออกแบบและสร้างโปรแกรม
HerbN

1
เพราะโปรแกรมวิทยาการคอมพิวเตอร์สอนเล็ก ๆ น้อย ๆ เพิ่มเติมเกี่ยวกับวิธีการสร้างโปรแกรมกว่าโปรแกรมฟิสิกส์ของคุณโดยทั่วไป;)
เวย์นเวอร์เนอร์

2
@WayneWerner: ไม่พวกเขาไม่ทำจริงๆ
DeadMG

3

เป็นที่ทราบกันดีว่าหลักสูตร CS ทั่วไปไม่ได้จัดเตรียมไว้สำหรับอุตสาหกรรมไม่มากเท่าที่ต้องการให้คุณเตรียมพร้อม ใช่มีความจำเป็นสำหรับสาขาวิชาวิศวกรรมซอฟต์แวร์และทั้งสองควรมีความแตกต่าง แต่แน่นอนในคณะเดียวกัน


1

พวกเขาควรเป็นสาขาวิชาที่แตกต่างกัน แต่ไม่อยู่ในระดับปริญญาตรี ฉันไม่เห็นว่าพวกเขาจะสามารถ จำกัด ทุกสิ่งที่จำเป็นสำหรับวิศวกรรมซอฟต์แวร์ในระดับปริญญาตรีได้อย่างไร เช่นเดียวกับที่เราไม่เห็นระดับปริญญาตรีใน Systems Systems (ซึ่งผู้คนได้รับ MS หลังจากได้รับปริญญาใน EE, CE, Mechanical Eng หรือ CS) ก็เป็นกรณีที่คล้ายกันกับวิศวกรรมซอฟต์แวร์

มันเป็นวิธีการแบบสหสาขาวิชาชีพขึ้นอยู่กับวิทยาศาสตร์คอมพิวเตอร์และ / หรือระบบสารสนเทศ ผู้คนกลายเป็นวิศวกรซอฟต์แวร์ในทางปฏิบัติอย่างแท้จริง (ไม่ใช่เฉพาะในตำแหน่ง) หลังจากดำเนินงานหลักสูตรขั้นสูงและ / หรือประสบการณ์การทำงานในสาขาโดยมีเงื่อนไขว่าภายหลังจะทำในสภาพแวดล้อมที่เป็นสื่อกระแสไฟฟ้าของวิศวกรรมซอฟต์แวร์

คนส่วนใหญ่มีชื่อวิศวกรรมซอฟต์แวร์ แต่ไม่ได้ก้าวหน้าไปกว่าการเขียนโค้ดจริงๆ นี่ไม่ใช่ความผิดปกติของพวกเขา แต่เป็นการสังเกตการณ์ - พวกเขายังไม่ได้สัมผัสกับประเภทของงานที่จะช่วยให้พวกเขาสะสมประสบการณ์การทำงานที่นอกเหนือจากการเขียนโค้ด ถึงกระนั้นงานและองค์กรส่วนใหญ่ก็ดำเนินไปอย่างเลวร้ายและไม่นำไฟฟ้าในการทำวิศวกรรมซอฟต์แวร์ที่เหมาะสม

นอกจากนี้หากไม่มีงานหรือวุฒิภาวะทางวิชาการวัสดุวิศวกรรมซอฟแวร์ก็จะบินเหนือหัวของนักศึกษาระดับปริญญาตรีส่วนใหญ่


หากคุณต้องการทราบว่าพวกเขา " บีบอัด
Thomas Owens

ถ้าฉันไม่ได้ทำอะไรพวกเขาก็ไม่ได้เป็นตะคริว พวกเขาเพียงแค่สร้างหลักสูตรเพิ่มเติม 192 เครดิต นี่เป็นสิ่งที่เกินกว่าหลักสูตรระดับปริญญาตรีเครดิต 60-80 ตามปกติที่คุณพบใน CS และ MIS - มีหลักสูตรอีกมากมายที่นี่เกิดขึ้นมากพอที่จะเทียบเคียงได้กับการเรียนสองเอก (หรือปริญญาตรีและปริญญาบัณฑิต) ฉันชอบกระแสและการรวมสาขาวิชาวิศวกรรมอื่น ๆ ในปีอาวุโส เป็นหลักสูตรที่สมบูรณ์แบบที่ใคร ๆ ก็สามารถติดตามได้ แต่มันก็พิสูจน์จุดของฉันว่าคุณไม่สามารถรับ SE ด้วยการเรียนระดับปริญญาตรีโดยทั่วไปเพียงอย่างเดียว
luis.espinal

และข้อแม้อย่างหนึ่งที่ฉันเห็นที่นี่คือคุณใช้ความพยายามอย่างมากและคุณก็จะได้ปริญญาที่ไม่ได้แยกจากกัน (เมื่อเทียบกับการทำงานหลักสูตรที่คล้ายกันเพื่อให้ได้เอกเอกหรือปริญญาตรีและปริญญาตรี) หนังแกะโชคร้าย บางทีความกังวลนั้นจะมีความสำคัญน้อยลงเมื่อองศาของ SE ในวงกว้างมากขึ้น
luis.espinal

มันเป็นระบบหนึ่งในสี่ซึ่งหมายความว่ามันเป็นภาระงานที่แน่นอนเหมือนกับระดับ CS (หรือปริญญาตรีอื่น ๆ ) จากมหาวิทยาลัยเดียวกัน ในท้ายที่สุดมันคือ 4 ปีของการเรียน (10 สัปดาห์ของการเรียน, 1 สัปดาห์ของการสอบต่อไตรมาส, 3 ใน 4 ต่อปี), 1 ปีของการร่วมมือ
Thomas Owens

ไม่ได้จริงๆ มันไม่เทียบเท่าเมื่อมันมาถึงภาระงาน ขณะนี้ฉันกำลังใฝ่หาปริญญาโทคนที่สอง (CE + EE) ที่ WPI ซึ่งเป็นไปตามรูปแบบที่คล้ายกัน (3 ไตรมาส, 10 สัปดาห์เรียน + 1 สัปดาห์สำหรับการสอบ) จากประสบการณ์โปรแกรมเหล่านี้มีความเข้มงวดและครอบคลุมมากกว่าปริญญาตรีทั่วไป 60-80 องศา มันไม่ได้เป็นคำวิจารณ์ของโปรแกรมที่ใจคุณ ฉันคิดว่ามันจำเป็นต้องครอบคลุมวิศวกรรมซอฟต์แวร์ในระดับปริญญาตรี และวิธีการที่คล้ายกันควรเป็นสิ่งจำเป็นสำหรับ CS (เนื่องจาก CS ทั่วไปไม่ครอบคลุมการ
ฝึกหัดแบบสห
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.