thắc mắc sv it bị đuổi học...cần một hướng đi

Status
Not open for further replies.
JavaScript:
<script>
    let nums = [5, 9, 3, 4, 2, 1, 10, 8, 6, 7];
    let n = nums.length;
    let nMin;

    for(let i = 0; i < n; i++){
        nMin = i;
        for(let j = i+1; j < n; j++){
            if(nums[nMin] > nums[j]){
                nMin = j;
            }
        }
        if(nMin != i){
            let t = nums[i];
            nums[i] = nums[nMin]
            nums[nMin] = t;

            console.log(i + '---' +nums);
        }
     }

    console.log(nums);
</script>

Selection sort ! Ôn lại qua thực hành một ví dụ siêu đơn giản. Nhớ lại lời thầy giảng. Suy cho cùng thì giải thuật là giải phương trình toán học.

Vậy mà trước kia giải tích 1,2,3 rồi đại số em lại đối phó học để qua môn :( chẳng có cảm hứng gì.
 
cảm ơn thím tư vấn cho em. Đúng như thím nói học gì cũng phải có nền tảng, đây cũng là tư tưởng học của em. Em bây giờ đang lần từ ngọn để mò xuống gốc. Vì giờ những gì em được học, được thực hành cách đây 7-8 năm trước giờ quên gần hết. Nhưng khi cày lại thì em lại nhớ ra ngay.
Vâng, tại em thấy có hình bóng của em khi tự học nên em có đôi lời thôi ạ. Một lời khuyên nữa là nếu không có mentor trực tiếp thì thím nên tham gia các 4rum nước ngoài nếu có vấn đề về technical, issue, ở đó người ta nhiệt tình và chia sẻ nhiều hơn. Còn nếu về câu chuyện xung quanh thì có thể vào voz này. Và nên học mọi thứ bằng tiếng anh. Ví dụ thím muốn học JS thì thím nên tìm tài liệu tiếng anh mà đọc, thuật toán cũng thế, gặp 1 chủ để nào mà không có 1 chút nhận thức hay hiểu biết gì về nó thì hãy lên wikipedia, sau đó sẽ có 1 số thuật ngữ và cứ từ keyword đó rồi học dần ra. Còn 1 cái nữa là thím xem vlog về cuộc sống hay quá trình của người mà thím muốn hướng đến, trên youtube có nhiều. Và 1 điều quan trọng là mọi thứ không dễ dàng để đạt đc. Mấy ông làm IT lương cao thì ông ý cũng phải bỏ thời gian ra cày quốc, nên thím đi sau thì phải nghĩ là mình phấn đấu ít nhất phải bằng người ta.
 
JavaScript:
<script>
function insertionSort(nums) {
  for (let i = 1; i < nums.length; i++) {
    for (let j = i; j > 0; j--) {
      if (nums[j] < nums[j - 1]) {
        [nums[j], nums[j - 1]] = [nums[j - 1], nums[j]];
      } else {
        break;
      }
    }
  }
  return nums;
}

</script>

Update: đã thực hành đến insertionSort. Không biết các thím đi làm thực tế có hay sử dụng mấy thuật toán sắp xếp cơ bản này k nhỉ? 3 Ngày nay cứ ii vs jjj cũng thấy hơi ngán rồi.
 
Combo lười với nghiền game thì no hope rồi bác, trừ khi bác có tài năng về cái game đó thì mới ok go pro chứ ghiền game không mà k có dự định gì trong tương lai thì cũng hơi mệt đấy:LOL:
 
JavaScript:
<script>
function insertionSort(nums) {
  for (let i = 1; i < nums.length; i++) {
    for (let j = i; j > 0; j--) {
      if (nums[j] < nums[j - 1]) {
        [nums[j], nums[j - 1]] = [nums[j - 1], nums[j]];
      } else {
        break;
      }
    }
  }
  return nums;
}

</script>

Update: đã thực hành đến insertionSort. Không biết các thím đi làm thực tế có hay sử dụng mấy thuật toán sắp xếp cơ bản này k nhỉ? 3 Ngày nay cứ ii vs jjj cũng thấy hơi ngán rồi.
Toàn gọi thư viện nó sort cho, chứ giờ chắc còn nhớ mỗi bubble sort :D
 
JavaScript:
<script>
function insertionSort(nums) {
  for (let i = 1; i < nums.length; i++) {
    for (let j = i; j > 0; j--) {
      if (nums[j] < nums[j - 1]) {
        [nums[j], nums[j - 1]] = [nums[j - 1], nums[j]];
      } else {
        break;
      }
    }
  }
  return nums;
}

</script>

Update: đã thực hành đến insertionSort. Không biết các thím đi làm thực tế có hay sử dụng mấy thuật toán sắp xếp cơ bản này k nhỉ? 3 Ngày nay cứ ii vs jjj cũng thấy hơi ngán rồi.

Mấy cái thuật toán kinh điển kiểu này viết sẵn hết rồi phen.

Sent from Xiaomi M2102J20SG using vozFApp
 
JavaScript:
<script>
function insertionSort(nums) {
  for (let i = 1; i < nums.length; i++) {
    for (let j = i; j > 0; j--) {
      if (nums[j] < nums[j - 1]) {
        [nums[j], nums[j - 1]] = [nums[j - 1], nums[j]];
      } else {
        break;
      }
    }
  }
  return nums;
}

</script>

Update: đã thực hành đến insertionSort. Không biết các thím đi làm thực tế có hay sử dụng mấy thuật toán sắp xếp cơ bản này k nhỉ? 3 Ngày nay cứ ii vs jjj cũng thấy hơi ngán rồi.
3 cái sort căn bản này trước khi học bài bản hay search gg là em tự nghĩ ra rồi sử dụng rồi ấy, chỉ học mấy cái sort O(n.logn) thôi chứ mấy cái sort O(n^2) toàn ngồi code linh tinh rồi tự mò ra, trước khi biết đến khái niệm thuật toán luôn. Mà học lắm giờ cứ xài hàm sort sẵn cho lẹ
 
Chào các thím.
Em đã cày xong đống lý thuyết CTDL & GT. Đã làm qua các ví dụ. Sau một vòng tìm hiểu bạn bè đang làm dev và cả trên VOZ thì mọi người bảo đi làm rất ít đụng vào thuật toán, hiếm khi sử dụng. Có người lại bảo là vẫn dùng thuật toán nhưng là có sẵn rồi cứ thế mà dùng cho việc code được tối ưu. Tóm lại là vẫn phải dùng chỉ là tùy hoàn cảnh ứng dụng ít hay nhiều.

Với những người đã bị thôi học, chưa đi làm thực tế như em thì rất mơ hồ về việc ứng dụng thuật toán trong việc lập trình. Nên mạo muội mở thêm một topic để VOZ cho em mở mang tầm mắt, được học hỏi. VOZer có thể cho những ví dụ (code mẫu) về việc ứng dụng thuật toán trong các công việc thực tế thì quả là quý báu với em. Chứ hiện tại em cũng k biết nó đang được ứng dụng ra sao khi mà các thuật toán cơ bản hiện đã được bọc trong các function của các ngôn ngữ lập trình gần như full hoàn hảo rồi.
 
3 cái sort căn bản này trước khi học bài bản hay search gg là em tự nghĩ ra rồi sử dụng rồi ấy, chỉ học mấy cái sort O(n.logn) thôi chứ mấy cái sort O(n^2) toàn ngồi code linh tinh rồi tự mò ra, trước khi biết đến khái niệm thuật toán luôn. Mà học lắm giờ cứ xài hàm sort sẵn cho lẹ
E thấy thuật toán như là một bài toán thôi mà, có thể là từ đề bài rồi khái quát lên một phương trình bất đẳng thức rồi if for đi tìm nghiệm để thỏa mãn điều kiện x chẳng hạn. Lúc ấy có khi đang vô tình làm một thuật toán nào đó mà k biết tên và cũng k rõ nó đã tồn tại rồi.
 
Ngang qua đây để lại cho thím mấy lời:
  • Thím cày thuật toán cũng ok, nhưng cũng chỉ cần hiểu mấy cái cơ bản (sort, search), lúc nào cần implement thì google cũng được. Nhưng có một cái quan trọng bên cạnh thuật toán đó là cấu trúc dữ liệu. Cái này là nền tảng để thím làm được những phần mềm lớn mà không bị rối. (Chẳng thế mà môn này có tên là Cấu trúc dữ liệu & giải thuật)
  • Ngoài ra thì thím nên học cách phân tích bài toán thực tế theo hướng đối tượng (lập trình hướng đối tượng là rất phổ biến hiện nay nên nắm chắc được nó là khá ok). Đứng ở vị trí tuyển dụng thì mình đánh giá cao những ứng viên có khả năng mô tả bài toán bằng code một cách dễ hiểu, giải thích được nó cho người khác. Để luyện cái này thì thím có thể tham khảo các design pattern + làm những project thực tế hơn (Làm một chương trình TODO bằng javascript + html chẳng hạn).
  • Cá nhân mình thì hay khuyên các bạn tay ngang là học làm web đầu tiên vì nó nhìn thấy được kết quả ngay, đỡ chán, bài toán cũng thực tế, chưa kể còn có thể kiếm cơm nhanh. Học frontend trước rồi học dần đến backend. Tuy nhiên lựa chọn là tùy bạn.
Lúc nào nghĩ ra gì mình viết thêm sau, đi ăn cơm đã.
 
Đặc điểm của sinh viên kém trong ngành đó là chỉ biết JS mà fen :rolleyes:
1 kỳ thực tập mà gặp phải mấy sinh viên học Kinh Công thì thôi khỏi phải đoán luôn, chắc cú là chỉ dám tự tin với JS,
và hỏi có biết Generic trong các ngôn ngữ Oop là gì không thì 100% là không biết
Sinh viên học Bách Khoa, UET, FPT thì ít nhất cũng rất tự tin với Java hay C#
Mod nói làm em thấy tự ti quá, em cũng học Kinh Công ra, thì đúng thật là chất lượng sv it trường em thấp thật.
 
Học kiểu này thím định học thêm 2 năm cơ bản ah ? Theo e là như này. Giờ thím chọn lấy một ngôn ngữ, ví dụ học làm front end thì học javascript,css,html, mục tiêu làm dev thì học c# hoặc java. Quan trọng giờ chọn đúng một ngôn ngữ để học, thành thạo, biến, hằng, class,loop..... sau đó làm một ví dụ về một phần mềm desktop nhập liệu, xử lý dữ liệu. Như thế mới tập trung đc, chứ ba cái thuật toán thím học bao giờ mới hết. Thím có lợi thế hơn mấy e sinh viên là có cơ bản rồi, giờ học 1 ngôn ngữ và bụp project tưởng tượng luôn, vừa làm vừa mò thư viện của ngôn ngữ đó.
 
Thấp thì sao nó ra trường được vậy. Tưởng trường tư thì chất lượng cao.
Tư this tư that fen ơi
Tư như RMIT thì mới là chất lượng cao, ra được trường RMIT thì cũng biết đủ kiến thức. Vì rất khó chạy chọt để qua môn. Tiền thi lại chát lòi mắt. Giáo trình nó đúng kiểu Tây, cũng khá giống trường nghề nhưng có thêm môn Cấu trúc dữ liệu giải thuật, OOP và Design Pattern.
Không hề có môn Toán, Lý, Hóa, Triết học, Chính Trị như ĐH Việt Nam
Còn Kinh Công thì giáo trình clone như Bách Khoa Hà Nội, nhưng đầu vào kém, dễ chạy điểm qua môn nên đầu ra tệ :(
 
Last edited:
Ngang qua đây để lại cho thím mấy lời:
  • Thím cày thuật toán cũng ok, nhưng cũng chỉ cần hiểu mấy cái cơ bản (sort, search), lúc nào cần implement thì google cũng được. Nhưng có một cái quan trọng bên cạnh thuật toán đó là cấu trúc dữ liệu. Cái này là nền tảng để thím làm được những phần mềm lớn mà không bị rối. (Chẳng thế mà môn này có tên là Cấu trúc dữ liệu & giải thuật)
  • Ngoài ra thì thím nên học cách phân tích bài toán thực tế theo hướng đối tượng (lập trình hướng đối tượng là rất phổ biến hiện nay nên nắm chắc được nó là khá ok). Đứng ở vị trí tuyển dụng thì mình đánh giá cao những ứng viên có khả năng mô tả bài toán bằng code một cách dễ hiểu, giải thích được nó cho người khác. Để luyện cái này thì thím có thể tham khảo các design pattern + làm những project thực tế hơn (Làm một chương trình TODO bằng javascript + html chẳng hạn).
  • Cá nhân mình thì hay khuyên các bạn tay ngang là học làm web đầu tiên vì nó nhìn thấy được kết quả ngay, đỡ chán, bài toán cũng thực tế, chưa kể còn có thể kiếm cơm nhanh. Học frontend trước rồi học dần đến backend. Tuy nhiên lựa chọn là tùy bạn.
Lúc nào nghĩ ra gì mình viết thêm sau, đi ăn cơm đã.
Cảm ơn thím, em đang lấy lại căn bản rồi từ từ cũng mần các món như thím tư vấn
 
Học kiểu này thím định học thêm 2 năm cơ bản ah ? Theo e là như này. Giờ thím chọn lấy một ngôn ngữ, ví dụ học làm front end thì học javascript,css,html, mục tiêu làm dev thì học c# hoặc java. Quan trọng giờ chọn đúng một ngôn ngữ để học, thành thạo, biến, hằng, class,loop..... sau đó làm một ví dụ về một phần mềm desktop nhập liệu, xử lý dữ liệu. Như thế mới tập trung đc, chứ ba cái thuật toán thím học bao giờ mới hết. Thím có lợi thế hơn mấy e sinh viên là có cơ bản rồi, giờ học 1 ngôn ngữ và bụp project tưởng tượng luôn, vừa làm vừa mò thư viện của ngôn ngữ đó.
tks thím..,
Do e bỏ học lâu quá rồi nên thú thực với thím em gần như mất căn bản rồi ấy. Đành phải lấy lại căn bản rồi làm theo vozer tư vấn.
 
Tư this tư that fen ơi
Tư như RMIT thì mới là chất lượng cao, ra được trường RMIT thì cũng biết đủ kiến thức. Vì rất khó chạy chọt để qua môn. Tiền thi lại chát lòi mắt. Giáo trình nó đúng kiểu Tây, cũng khá giống trường nghề nhưng có thêm môn Cấu trúc dữ liệu giải thuật, OOP và Design Pattern.
Không hề có môn Toán, Lý, Hóa, Triết học, Chính Trị như ĐH Việt Nam
Còn Kinh Công thì giáo trình clone như Bách Khoa Hà Nội, nhưng đầu vào kém, dễ chạy điểm qua môn nên đầu ra tệ :(

Rmit cũng phải học mac lê thôi anh. Dạy trên đất vn dễ j mà ko học.

Sent from Xiaomi M2102J20SG using vozFApp
 
tks thím..,
Do e bỏ học lâu quá rồi nên thú thực với thím em gần như mất căn bản rồi ấy. Đành phải lấy lại căn bản rồi làm theo vozer tư vấn.

Đợi fen lấy lại mấy cái căn bản này khéo 30 tuổi rồi. Lúc đó ai nó tuyển làm fresher. Kiếm mấy cái dễ xin việc mà học, có việc rồi tha hồ căn bản.

Sent from Xiaomi M2102J20SG using vozFApp
 
tks thím..,
Do e bỏ học lâu quá rồi nên thú thực với thím em gần như mất căn bản rồi ấy. Đành phải lấy lại căn bản rồi làm theo vozer tư vấn.
Thím nên học ở w3schools, học từ get started cứ tuần tự. ko nhảy cóc, ắt sẽ thành công : ). Chứ học nhảy cóc mỗi thứ biết tí là ko ăn thua.
 
Status
Not open for further replies.
Back
Top